で区切られた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}
それが正しく動作し得るように変更する必要がありますか?
で区切られた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}
それが正しく動作し得るように変更する必要がありますか?
この
\d{1,3}\.\d{1,3}\.\d{1,3}
または
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
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;
正規表現のドットをエスケープする必要があります。そうでない場合は、任意の文字としてカウントされます。
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
あなたは\
でドットをエスケープする必要があり、また、あなたは桁
\d{1,3}\.\d{1,3}\.\d{1,3}
意味
\d
を使用することができます。 –'var re = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/g; ' –
@ Tim007コメントありがとうございます。あなたはそれを答えとして提供することができ、私はそれを受け入れられたものとしてマークします。 – user2991608