2012-03-11 11 views
5

私はこれを見つけました:Regex to match digits of specific lengthしかし、それはPythonについて語ります。私は特定の長さの乱数のグループを得ることができるようにしたいです。だから167691#15316243の場合は15316243と一致します。私はこれを実装する方法がわかりません。今私はnew RegExp('[0-9]+', "g");の数字のグループに一致するが、今私は複数のグループを持っていると私はいくつかの時間を持っていることを実現し、私は8つの数字のグループが欲しい。特定の長さの数字の特定のグループに一致する正規表現ですか?

答えて

10

{}を使用して一致するセットの長さを指定できます。例えば

:8つの文字の特定の長さを9に0から任意の数字と一致します

[0-9]{8}

特定の脚線を強制する代わりに、最小/最大範囲を指定することもできます。したがって、最小値が4で最大値が8の場合、例は次のように変更されます。[0-9]{4,8}

+0

ほとんどの場合、境界線が必要です。 – tchrist

2

は単に中括弧で繰り返し量を置く:

"167691#15316243".match(/\d{8}/g); 

をここにフィドルです:http://jsfiddle.net/3r5vd/


私はあなたが(繰り返し制限のセクションまでスクロール)this articleを読むことをお勧めしたいです。

はここに引用です:

現代正規表現の味[...]あなたはトークンを繰り返すことができる回数を指定することを可能にする追加の繰り返し演算子を持っています。構文は{min,max}であり、minは最小一致数を示す正の整数であり、maxは最大一致数を示すmin以上の整数です。カンマが存在するがmaxが省略されている場合、一致の最大数は無限です。したがって、{0,}*と同じで、{1,}+と同じです。
カンマとmaxの両方を省略すると、正確にmin回トークンを繰り返すようにエンジンに指示します。

14
[0-9]+ - Matches one or more numbers 
[0-9]{8} - Matches exactly 8 numbers. 
[0-9]{8,10} - Matches between 8 and 10 numbers. 
[0-9]{8,} - Matches 8 or more numbers. 
[0-9]* - Matches zero or more numbers. 
[0-9]? - Matches zero or one number. 
+0

[0-9] {8、} - 最小長は8です – ThoQ

+0

@ThoQLuongが追加されました、ありがとう!評判要件のためレビューを受け入れることができませんでした。 – Nathan

+0

重要な注意: '{8,10}'に昏睡後にスペースを入れないでください。それはちょうど '{8,10}'ではなく '{8、10}' – Alendorff

関連する問題