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])を一致させたいと考える場合があります。

固定正規表現は、 regexpal[-\d.]*で問題なく機能します。

于 2012-04-21T06:25:18.023 に答える