2009-08-22 103 views

回答

1

\w代碼與單個字母數字字符匹配,如集合[0-9A-Za-z_]

*量詞與{0,}量詞相同,它會重複匹配零次或多次。

在量詞後加一個問號會使其很懶,即它儘可能少地匹配字符而不是儘可能多。

因此,\w*?懶惰地匹配零個或更多字母數字字符。

如果你想過濾出不能在數字中的字符,爲什麼不只是使用否定集?這將匹配任何不是負號或數字的字符:

[^\-\d] 
+0

我想OP是用'?'是一個問號,而不是正則表達式的一部分。看我的編輯。 – 2009-08-22 12:28:32

1

\w匹配任何字母數字字符(字字符)包括下劃線(短和[a-ZA-Z0-9_])。

相當於[A-Za-z0-9_]。例如,/ \ w /匹配「apple」中的「a」,「5.28」中的「5」以及「3D」中的「3」。

*

重複先前項零次或多次。貪婪,儘可能多的項目在嘗試排列之前匹配較少的前一個項目的匹配,直到前一個項目根本不匹配。

+0

什麼是'\ w *'? – anonymous 2009-08-22 10:10:05

+1

@phoenix:這個問題似乎是關於常規的,貪婪的'*','?'在它意味着作爲句子標點符號之後。既然你的定義是一顆貪婪的星星,我在你的答案中將「*?(懶星)」改爲「*」。希望你不介意。 – 2009-08-22 12:42:34

+0

沒關係。感謝@Alan。 – rahul 2009-08-22 13:09:07

相關問題