2012-08-23 48 views
-5

嗨,我知道字符*用于匹配前面的字符零次或多次,这里是问题,这里的零时间意味着什么。例如:script[\s]*如果是这种情况,它将如何工作,它会单独阻止脚本,还是会阻止脚本,然后是空格。了解正则表达式

+2

为什么不试试? – slim

+0

http://regexpal.com/ – fmsf

回答

2

*+,并?改性剂被施加到表达式紧接在前它们,因此在这种情况下,星号被单独加到[\s]。如果您想将其应用于script[\s],则可以在整个表达式中放置括号:(script[\s])*。如果你想防止使捕获组,使用(?:),像这样:

(?:script[\s])* 
0

方括号表示一个字符类,\s指 “空格字符”(即\t等)。所以这里*将应用于[\s]表达式,整个正则表达式的意思是“匹配script后跟零个或多个空格字符”。

0

you`ve表明会像正则表达式:

1)匹配的字符“脚本”字面上

2)匹配单个字符是“空白字符”(空格,换行符等)

2.1)多次尽可能

因此将匹配单个“脚本”以及“script_ _”(任意数量的空格)

0

零时间在这里意味着什么?

就像它意味着别的地方一样。例如,“我戳你零次”意味着我根本不戳你。

,或者“我戳你零次或多次”是指我不捅你,或者我戳你一次,两次或...

例如:脚本[\ s] *如果这它是如何工作的,它会单独阻止脚本还是阻止脚本,然后是空白。

正则表达式将比赛"script""script ""script "等。