カンマ区切りを含む10進数に適切な正規表現を見つけるのが難しいです。Regexカンマで10進数を
私は、一般的にはこの問題について、いくつかの他の質問を見つけましたが、答えのどれも本当に私は彼らに
を試験したとき、私がこれまで持って最善のは働いていない:
[0-9]{1,3}(,([0-9]{3}))*(.[0-9]+)?
2の主要な問題そうfar:
1)「3001」を2つの「3001」「1」に分割するのではなく、「3001 1」の間にスペースを入れて数字を記録します。
2)正規表現の先頭と末尾には一般的な問題があります。
正規表現は一致する必要があります:
3,001
1
32,012,111.2131
でもないが:
32,012,11.2131
1132,012,111.2131
32,0112,111.2131
32131
を加えて、私はそれが一致したいと思います。で
1.(without any number after it)
1,(without any number after it)
as 1
(カンマまたはポイント番号の最後は見落とされるはずです)。
多くのありがとうございます! 。
あなたの言語の正規表現ライブラリがすでにそうしているのでなければ、おそらく両端にパターンを固定する必要があります。それ以外の場合は、少なくとも1桁の文字列が一致します。 – cHao
あなたは、任意の文字にマッチするピリオド( '' '.''')で正規表現のスペースを許可しました。ピリオド( '' \ .''')をエスケープすると、ピリオドだけが一致します。 – creemama
2番目と3番目の問題はまったく問題ではないと私は思います。私が言うことから、彼らは彼らが想定していないものと一致しません。 –