[英]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.