2013-03-06 85 views
1

我已經遇到了一些代碼多次運行具有與正則表達式:*的含義是什麼?在正則表達式中?

\((\X*?)\) 

匹配括號中的一切。如果*重複0次或更多次,是零還是一次,似乎都是無關緊要的。是*嗎?相當於*還是它有兩個組合的特殊含義?

+0

這是'非貪心' – kev 2013-03-06 03:32:07

回答

7

?+*後,使該運營商非貪婪,也就是說,它會嘗試匹配最低的次數,而不是最大次數。

例如,匹配{hi}{there}{(.*)}與組hi}{there匹配,這可能是不期望的。使用非貪婪的{(.*?)}根據需要給出匹配hithere

+0

感謝您的快速幫助。我必須得到更多,並熟悉正則表達式作爲第二語言,但這是第一次。 – thatthatisis 2013-03-06 03:33:46

+0

每個人都必須從某個地方開始!很高興我能幫上忙。 – nneonneo 2013-03-06 03:34:06