正規表現の問題を理解するのに苦労しています。
2 つの数字、次にハイフンまたはスペース、次に 6 つの数字を探しています。数字は 6 つだけである必要があるため、6 つの数字の後にアルファベット文字、句読点、またはスペースを入れるか、6つの数字を文字列の末尾に配置する必要があります。
他の数値は、それらが分離されている限り、文字列の他の場所で使用できます。
したがって、これらは一致する必要があります。
foo 12-123456 bar
12-123456 bar
foo 12-123456
foo12-123456bar
12-123456bar
foo12-123456
12-123456bar 99
foo12-123456 99
これらは一致しないはずです:
123-12345 bar
foo 12-1234567
123-12345bar
foo12-1234567
使用していたものは次のとおりです。
\D\d{2}[-|/\ ]\d{6}\D
Expressoではこれで問題ありませんでした。
しかし、.net アプリケーションで実際に実行すると、このパターンは、6 つの数字が文字列の末尾にある例では一致しませんでした。
これを試しました:
\D\d{2}[-|/\ ]\d{6}[\D|$]
そしてそれはまだ一致していません
foo 12-123456