2016-11-28 26 views
3

数字の間に任意の数のスペースを入れることができる1から3桁の数字があるとします。これらの数字が参照できるグループ内にあるとします。私はこれをどうやって行こうか?ここで私は、これまでのところ、私はちょうど少し混乱してい正規表現0桁以上の桁数字

([\d\s*]{1,3}) 

として、私は3桁まで一致するパターンを持っているんだかに持って、その後の間にゼロ以上のスペースがあり、中にそれらを保つものですグループ。

とにかく、ありがとう。

+0

のパターンを使用できます。パターンは[1つの数字または1つのスペースまたは1つの文字* '* 'と一致します。 – dawg

答えて

2

あなたは行うことができます。

((?:\d\s*){1,3}) 

Demo


説明:

((?:\d\s*)){1,3} 
^ ^  define a non capturing group 
    ^   a single digit 
    ^  a space zero or more times 
^  ^  capture that group (digit and following space pattern) 
     ^ 1 to 3 times 

また、行うことができます。

^(\d\s*\d?\s*\d?\s*) 
^    ^ capture group 
    ^     one digit 
    ^     zero or more spaces 
     ^    optional digit 
      ^   zero or more spaces 
      ^^  etcetera..... 

Demo

+0

これは機能しますか? それは私が必要とすることをします、私はちょうど私が正規表現の少し新しいので、それがどのようにそれを行うか理解したいです。また、コロンを使わずにこれを行う方法はありますか? – user2965071

+0

はい。 '(\ d)'は1文字です。 '\ b(w +)\ b'は単語のような文字群です。 – dawg

0

(\d{1,3}\s*)あなたが望むものを手に入れてください。これは、1〜3桁の数字で構成されるグループと、次の数字のグループの前に現れるスペースを定義します。グループにスペースを入れたくない場合は、(\d{1,3})\s*

+0

'私は1〜3桁の数字のシーケンスがあり、それらの間に任意の数のスペースを持つことができると仮定します* - これは1〜3桁に続いて任意の数のスペースに一致します。間にスペースはありません。 – dawg

+0

おっと、私は次の時間を読むことを学ぶ、私の間違い:) –

関連する問題