簡體   English   中英

正則表達式可檢測由連字符分隔的任意數量的數字

[英]regular expression detect any number of digits separated by only an hyphen

目前,我正在使用\\b\\d-\\d\\b ,但沒有成功。

我想使用在以下情況下有效的正則表達式:

只能由連字符分隔的任意數量的數字(至少一個數字值)。

正則表達式在這種情況下有效:

1-1
2-22
03-03
4-44
555-555

等等。

您能告訴我我做錯了什么,並指出一個很好的例子嗎?

注意:我需要從正則表達式返回true或false。

任何數量的數字(但至少一個數字)將是\\d+ ,其中+表示與前面的部分匹配一次或多次(相當於\\d{1,} )。 所以:

\b\d+-\d+\b

有關JavaScript支持的正則表達式功能的列表,請查看MDN的正則表達式頁面

更新: OP在一條評論中提到試圖與字符串"1-25656{{}"匹配。 要從更長的字符串中實際提取數字部分,請使用.match()方法

var matches = inputString.match(/\b\d+-\d+\b/);

...如果沒有匹配項將返回null ,否則將返回包含第一個匹配項的數組。 要獲取所有匹配項,請添加g (全局)標志:

var matches = inputString.match(/\b\d+-\d+\b/g);

最終更新:如果要測試字符串是否只包含兩個連字符,兩個字符之間用連字符分隔,請使用以下表達式:

^\d+-\d+$

var isValid = /^\d+-\d+$/.test(inputString);

暫無
暫無

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

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