2017-11-10 14 views
0

私は通常のExp。マッチ

112/AA-BB

なく

111/XX-ZZ-2

にマッチする正規表現を作成しようとしています

私がこれまでに試したことは、\b[0-9]{3}(?:\W[A-Z]{2}){2}\bです。ただし、これも2番目の入力と一致します。式全体を9文字に制限するか、回避する方法はありますか?

ここにa link to my testsです。

+0

で2番目の1が一致したくない理由は、長さがありますか?それとも、2番目のハイフンにマッチしたいだけですか? – sniperd

答えて

2

\ bはまだ単語の境界として単語の末尾に数えて-と数えています。

​​

this demoを参照してください:だから何あなたができることは、それがダッシュに続いていた場合にマッチするから、あなたの文字列を防ぎ先負の外観を追加することです。

+0

ありがとう!それはうまくいった。 – AFF

1

正確に一致させたいものはわかりませんが、(?=.{9}[,\s$])を使用してカンマ、スペースまたはその他の区切り文字で終わる指定された文字列の先読みを追加することができます。

ので、結果はthatようになります:

(?=.{9}[,\s$])[0-9]{3}(?:\W[A-Z]{2}){2}