0

私はこのコードを使用しています

(\d{5})([\-]\d{4})?\s*

これは私の郵便番号と一致します

12345-1234

2つのグループで

1. 12345
2. -1234

1つのグループで12345(5文字のzip)と12345-1234(10文字のzip)の両方に一致する必要があります。それは可能ですか?

編集:

(\d{5}-\d{4}|\d{5})

(vcsjonesのおかげで)元の質問を満たします。

ただし、形式が正しくないZip(12345-123など)の場合は、12345のみを取得しません。

それを行う方法はありますか?

4

1 に答える 1

3

これを試してみることができます:

(\d{5}-\d{4}|\d{5})

編集:

ただし、形式が正しくないZip(12345-123など)の場合は、12345のみを取得しません。

本気ですか?これにより、一致が生成されます。

Dim zip5 As String = "12345"
Dim zip9 As String = "12345-6789"
Dim partialZip9 = "12345-33"
Dim regex As New Regex("(\d{5}-\d{4}|\d{5})")
Dim zip5Match = regex.Match(zip5).Groups(0).Value 'Produces 12345
Dim zip9Match = regex.Match(zip9).Groups(0).Value 'Produces 12345-6789
Dim partialZip9Match = regex.Match(partialZip9).Groups(0).Value 'Produces 12345
于 2011-12-28T19:15:04.163 に答える