目前我使用\b\d-\d\b
但没有成功。
我想使用在以下情况下有效的正则表达式:
任意数字(至少一个数字值)仅用连字符分隔。
正则表达式在这种情况下有效:
1-1
2-22
03-03
4-44
555-555
等等。
你能告诉我我做错了什么并指出了一个很好的例子吗?
注意:我需要从正则表达式中返回true或false。
答案 0 :(得分:1)
任意数量的数字(但至少有一位)都是belongs_to_required_by_default
,其中\d+
表示与前一部分匹配一次或多次(相当于+
)。所以:
\d{1,}
有关JavaScript支持的正则表达式功能的列表,请查看MDN's regular expressions page
更新:在评论中,OP提到尝试匹配字符串\b\d+-\d+\b
。要从较长的字符串中实际提取数字部分,请使用.match()
method:
"1-25656{{}"
...如果没有匹配将返回var matches = inputString.match(/\b\d+-\d+\b/);
,否则将返回包含第一个匹配的数组。要获取所有匹配项,请添加null
(全局)标记:
g
最终更新:如果您想测试字符串是否只包含由连字符分隔的两个数字,请使用以下表达式:
var matches = inputString.match(/\b\d+-\d+\b/g);