2016-07-08 14 views
-1

左辺または右辺に整数を持たない数字と一致する正規表現を書くことは可能ですか?これらの文字列がある場合:数字間ではない文字列間の数字の一致方法

a20c 
20c 
.20c 
a20- 
120 

最後の文字列ではなく、最初の文字列と一致する必要があります。

+0

が1に一致する任意の整数がどうなること –

+0

'/^\ dは+ $ /' –

+0

はあなたが唯一の真ん中の2つの数字をキャッチする必要がありますかトリックを行う必要がありますか? –

答えて

1

この正規表現パターンは、中間のどこかに20があり、他の数字が20に触れていないテキストと一致します。これは、テキストのどこにでも発生する可能性があります。したがって、DM11 20-Bと一致しますが、DM1120-Bでは一致しません。

[^0-9]20[^0-9] 

それとももう少し凝縮:

\D20\D 
+0

他の任意の数字の間のどこにでも置くことができます。手段20は、ちょうど左または右辺に他の整数を持たない –

+0

20他の任意の数字の間にはありません。側。たとえば。 DM11 20-Bと一致する必要がありますが、DM1120-Bでは一致しません。 –

+0

これらの新しいテストケースを考慮に入れて回答を更新しました – Confiqure

0

あなたの数字は非数字に囲まれていることを確認する2つの前後参照を使用することができます。

(?<=\D)\d+|\d+(?=\D) 

RegEx Demo

+0

20番の例を書いてください。 –

+0

あなたはこれを意味します:https://regex101.com/r/dG0cQ1/2? – anubhava

1

あなたは使用可能^\D{1}\d+\D{1}$

オスロあなたはここにあなたの正規表現をテストすることができます。 はhttps://regex101.com/r/nU4jL1/2

+0

20他の任意の数字の間にはありませんが、左または右辺に他の整数はありません。 たとえば、 DM11 20-B –

+0

Dunnoと一致するはずですが、この '\ D {1} 20+ \ D {1}' https://regex101.com/r/nU4jL1/3を試してみてください。例DM11 20-B – rEDSAMK

関連する問題