[\d-.]+
動作しますが、[\d-.]*
動作しません。変更したのは最後の+
toだけです。*
<b>12345</b>
<b>12345-6789</b>
<i>1234.5678</i>
<tag>1234-2342346456</tag>
ここでテストしましたhttp://regexr.com?30ngn
は*
0 以上、+
は 1 以上を意味します。*
のみで動作し.
ますか?
[\d-.]+
動作しますが、[\d-.]*
動作しません。変更したのは最後の+
toだけです。*
<b>12345</b>
<b>12345-6789</b>
<i>1234.5678</i>
<tag>1234-2342346456</tag>
ここでテストしましたhttp://regexr.com?30ngn
は*
0 以上、+
は 1 以上を意味します。*
のみで動作し.
ますか?
演算子は正常に動作します。正規表現*
がおかしな動作をしているだけです。または-
、正規表現の文字クラスでの文字の危険な使用が原因です。-
文字クラスの文字と一致させる場合は、先頭に配置します。そうしないと、正規表現エンジンが範囲(など[A-Z]
)を一致させたいと考える場合があります。
固定正規表現は、 regexpal[-\d.]*
で問題なく機能します。