正则表达式 - 过滤字母和非字母数字字符

时间:2009-08-22 10:05:29

标签: c# regex

我需要从字符串中过滤字母和非字母数字字符,使其成为整数。

正则表达式字符串

之间有什么区别
\w

\w*

2 个答案:

答案 0 :(得分:1)

\w 匹配任何字母数字字符(字符),包括下划线([a-zA-Z0-9 _]的缩写)。

相当于[A-Za-z0-9_]。

例如,/ \ w /匹配“apple”中的“a”,“$ 5.28”中的“5”和“3D”中的“3”。

<强> *

重复前一项零次或多次。贪婪,因此在尝试使用前一项目的匹配较少的排列之前,将匹配尽可能多的项目,直到前一项目根本不匹配为止。

答案 1 :(得分:1)

\w代码匹配单个字母数字字符,例如集合[0-9A-Za-z_]

*量词与{0,}量词相同,它会重复零次或多次。

在量词之后加上一个问号使它变得懒惰,即它尽可能少地匹配字符而不是尽可能多的字符。

因此,\w*?懒惰地匹配零个或多个字母数字字符。

如果要过滤掉不能出现在数字中的字符,为什么不使用负数?这将匹配任何不是减号或数字的字符:

[^\-\d]