2016-04-13 8 views
1

で区切られた3 3桁の値のために、私は次の形式を持っているソフトウェアのバージョンフィールドに正規表現を書いている:これらの3つの部分の間を持つことができます正規表現は、期間

xxx.yyy.zzz

1〜3桁です。例:

1.2.3 
100.2.300 
111.222.333 

私は、この目的のために、この正規表現を策定し、それは正しくないです:

[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} 

それが正しく動作し得るように変更する必要がありますか?

+1

意味\dを使用することができます。 –

+0

'var re = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/g; ' –

+0

@ Tim007コメントありがとうございます。あなたはそれを答えとして提供することができ、私はそれを受け入れられたものとしてマークします。 – user2991608

答えて

0

この

\d{1,3}\.\d{1,3}\.\d{1,3} 

または

[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 

Regex demo

Javascriptを

var re = /\d{1,3}\.\d{1,3}\.\d{1,3}/g; 
をお試しください

または

var re = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/g; 
3

正規表現のドットをエスケープする必要があります。そうでない場合は、任意の文字としてカウントされます。

var regex = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/; 
regex.test('1.2.3'); //true 
regex.test('100.2.300'); //true 
regex.test('111.222.333'); //true 

ドットをエスケープしないと、ドットの代わりに任意の文字を入力できます。

var badRegex = /[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/; 
badRegex.test('1a2z3'); //true 
badRegex.test('100-2#300'); //true 
badRegex.test('111f2229333'); //true 
2

あなたは\でドットをエスケープする必要があり、また、あなたは桁

\d{1,3}\.\d{1,3}\.\d{1,3}

は、ドットをエスケープ