3

ドットと数字を検証しようとしています。

有効:

1.2.3
1.4.1

無効:

1.2.3.
1.2-3
1-2-3

別のスレッドから次のことを試しました。有効なスレッドで動作しますが、無効なスレッドもダッシュ(-)で渡します。

^\d+(.\d+)*$

ドットと数字のみを検証するように厳密にするために、正規表現に何か改善はありますか?

ありがとう

4

5 に答える 5

4

ドットをエスケープする必要があります。ドットは、正規表現の「任意の文字」です。

^\d+(\.\d+)*$
于 2012-09-24T09:09:38.530 に答える
3

これを試してください:

^\d+(\.\d+)*$

正規表現のデモ

于 2012-09-24T09:10:43.830 に答える
2

可変数のドットと数字が必要な場合は、数字とドットを繰り返し、最後を数字のみとして配置します。

(\d+\.)+\d+

1.2.31.2.3.4などに一致します

固定長の桁が必要な場合は、+演算子の代わりに繰り返し回数を入力してください

(\d+\.){2}\d+ #for 1.2.3
(\d+\.){1}\d+ #for 1.2
于 2012-09-24T09:11:50.100 に答える
1

ドットはすべての文字に一致します。\を使用する必要があります。

^ \ d +(\。\ d +)* $

ただし、少なくとも1つのドットが存在する必要がある場合は、ドットのない任意の数値も検証されます。

(\ d + \。)+ \ d +

于 2012-09-24T09:11:39.370 に答える
1

この正規表現を使用する^\d+\.\d+\.\d+$

ドットの間違い、ドットは任意の記号を意味します

于 2012-09-24T09:08:49.837 に答える