4

誰かが 1 から 17 までの数字を正規表現と一致させる方法を教えてくれますか?

[1-9]|1[0-7] を試してみましたが、たとえば最初の部分が原因で、18 中の 8 に一致します。

何か案は?私は先行ゼロを持ちたくありません。

編集:

問題は、次のような英国の郵便番号を検証しようとしていることです。

KW1-17 (KW1、KW2 から KW17 まで) ... これは外側の部分です。郵便番号は KW15 1BM または KW151BM の可能性があるため、文字列全体を一致させるためにアンカーを使用することはできません ... さらに複雑になります。

4

1 に答える 1

10

正規表現の周りにアンカーを配置する必要があります。そうしないと、部分文字列と一致します。

^(?:[2-9]|1[0-7]?)$

また、正規表現をもう少し効率的にするために自由を取りました:

2 つの正規表現の比較

于 2012-07-13T09:19:33.273 に答える