0

郵便番号の正規表現があるとしましょう。

'\<[0-9]{5}(-[0-9]{4})?\>'

これは次の場合に機能します。

XXXXX
XXXXX-XXXX

ただし、次の数値とも一致します。

XXXX-
.XXXX-

これを防ぐために何を使用しますか?

4

3 に答える 3

0

オリジナルポスターです。

'^\<[0-9]{5}(-[0-9]{4})?\>$'

'\<^[0-9]{5}(-[0-9]{4})?$\>'

次のようなノイズのある行には一致しません。

lskdjfasfldj  XXXXX asfsdfsdf
sdkdsa XXXXX-XXXX asdfsd

2 つの正規表現は、行の途中ではなく、行の先頭でのみ一致します。

また、UNIX システムで grep -E を使用して基本的な正規表現を使用しています。

于 2013-02-13T16:27:19.007 に答える
0

一致を文字列の最初から最後まで固定したいようです。そうしないと、入力の一部も一致させようとします。

'^\<[0-9]{5}(-[0-9]{4})?\>$'
于 2013-02-13T15:23:59.850 に答える
0

この文字列が最初と最後でなければならないことを指定しません。^行頭を示す と行末を示す を追加するだけ$です。

したがって、結果は次のようになります(言語または何かに必要である\<と仮定して)。\>

'\<^[0-9]{5}(-[0-9]{4})?$\>'
于 2013-02-13T15:24:08.790 に答える