2017-11-07 9 views
1

次の2つのパターンを一致させたいと思います。Cで正規表現が機能しない#

  • 12345.67890

私が使用している正規表現は^[0-9]{5}|[0-9]{5}.[0-9]{5}$です。それは最初のパターンではなく、2番目のパターンで動作しています。私はRegexのテスターで.netをテストしていますし、動作しています。誰かが私の正規表現で何が間違っているかを教えてもらえますか?

答えて

1

は、たぶん、あなたが使用する必要があります^([0-9]{5}|[0-9]{5}\.[0-9]{5})$

1

私はそれをテストしたが実際にはうまくいかなかった。 '。'を指定する必要があります。リテラルです。

これは動作します:

([0-9]{5})(\.[0-9]{5})? 
-1

を試してみてください。

([0-9]{5})(\.[0-9]{5})* 

あなたにはあなたが正規表現式を所有してテストすることができます:それは小数部0回以上一致したので、これは間違ってい

([0-9]{5})(\.[0-9]{5})|([0-9]{5}) 
+2

https://regexr.com/

EDIT。例えば。 '12345.45678.12345'はここで一致します。 – SirDarius

関連する問題