2012-08-23 47 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 "等。