为什么*正则表达式运算符不起作用?

时间:2012-04-21 06:20:12

标签: regex

[\d-.]+有效但[\d-.]*没有。我唯一改变的是最后+*

<b>12345</b>
<b>12345-6789</b>
<i>1234.5678</i>
<tag>1234-2342346456</tag>

我在这里测试了http://regexr.com?30ngn

*表示0或更多,而+表示1或更多。 *仅适用于.吗?

1 个答案:

答案 0 :(得分:3)

*运算符工作正常,只是regexr表现得很有趣,或者是由于你在正则表达式字符类中对-字符的危险使用。如果要匹配字符类中的-字符,请将其放在开头;否则,正则表达式引擎可能认为您想匹配范围(例如[A-Z])。

固定正则表达式[-\d.]*regexpal处理正常。