2

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

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

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

*表示 0 或更多,而表示+1 或更多。*唯一的工作吗.

4

1 回答 1

3

操作员工作正常,*只是正则表达式表现得很有趣,或者是由于您-在正则表达式字符类中危险地使用了该字符。如果要匹配一个-字符类中的一个字符,把它放在开头;否则,正则表达式引擎可能会认为您想要匹配一个范围(例如[A-Z])。

固定的正则表达式[-\d.]*regexpal上工作得很好。

于 2012-04-21T06:25:18.023 回答