1

私はこの正規表現を持っています

[0-9]+(,[0-9][0-9]?)?

345563,24 で一致しますが、左側の部分を 8 文字に制限するにはどうすればよいですか?
88888888,00 - 8 文字なので真
999999999,00 - 9 文字なので偽

4

4 に答える 4

2

これを使って:

[0-9]{0,8}(,[0-9][0-9]?)?

{m,n}前の文字/グループの最小および最大出現回数を示します。式の片側を空白のままにすることで、最小値または最大値を示すことができます。したがって、上記の式では、0〜8回の数字の出現が許可されます。式の先頭に1〜8桁の数字が必要な場合は、次を使用します。

[0-9]{1,8}(,[0-9][0-9]?)?
于 2013-01-31T13:24:32.387 に答える
2

私はするだろう:

 ^[1-9][0-9]{,7}(,[0-9][0-9]?)?$
  • 数値 (10,2) が一致します
  • 空の文字列は一致しません
  • 最初の桁は 0 (ゼロ) であってはなりません
于 2013-01-31T13:30:36.177 に答える
0

\b代わりに^、次のようにお勧め$します。

\b([1-9][0-9]{0,7}|0)(,[0-9][0-9]?)?\b

そのため、入力を単独で供給する必要はなく、大きなテキストの途中でも見つけることができます。

于 2013-01-31T13:54:33.653 に答える