2009-08-22 235 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

相关问题