2017-04-18 14 views
0

特定の範囲外の数の正規表現を探しています。範囲外の正規表現番号

受諾番号はv10,v11,v12,v13,v14,v15です。私の正規表現はv(1[0-5])ですが、 I はありませんこれらの6個以外の数字が必要です。

v1 - accepted. Need regex for this 
v5 - accepted. Need regex for this 
v100 - accepted. Need regex for this 
v51 - accepted. Need regex for this 
v10...v15 - not accepted. I already have a regex for this. 

答えて

1

マッチングをより厳しくするためにアンカーまたは境界線を使用します。

\bv(1[0-5])\b 

または

^v(1[0-5])$ 

デモ:https://regex101.com/r/TPkTom/1/

アンカー/境界は完全一致が必要になります。それらがなければ、表現の一部だけが一致しなければならない。更新毎

否定先読みは動作します:

v(?!1[0-5]\b)\d+ 

デモ:https://regex101.com/r/TPkTom/4/

か、使用できPCRE動詞:

\bv1[0-5]\b(*SKIP)(*FAIL)|v\d+ 

https://regex101.com/r/TPkTom/3/

+0

私は実際に明らかにしました質問を編集してあなたは見てみることができます – yregex2017

+0

@ yregex2017ああ、混合のようなもの。回答が更新されました。 – chris85

+0

あなたは天才です!どうもありがとう。 – yregex2017