簡體   English   中英

正則表達式為3個3位數的值,以句點分隔

[英]Regex for 3 3-digit values separated by a period

我正在為具有以下格式的軟件版本字段編寫正則表達式:

xxx.yyy.zzz

這3個部分可以分別具有1到3個數字。 例如:

1.2.3
100.2.300
111.222.333

我為此目的制定了此正則表達式,但這是不正確的:

[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,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

您應該使用\\轉義點,並且也可以使用\\d表示數字

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

嘗試這個

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

要么

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

正則表達式演示

Java腳本

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; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM