【发布时间】:2018-06-29 13:26:30
【问题描述】:
我有一个很长的字符串,我想从该字符串中找到 CAS 编号,其模式如下:
2到7位-2位-1位
例子:
1154-12-6, 127946-96-2
我正在使用以下正则表达式来获取此号码:
str.match(/([0-9]{2,7})-([0-9]{2})-[0-9]/)
但对于包含“29022-11-5”的示例,它给了我 [“29022-11-5”、“29022”、“11”]。
请告诉我该怎么做。
console.log(
"A long string with a number 29022-11-5 somewhere".match(/([0-9]{2,7})-([0-9]{2})-[0-9]/)
)
// it is giving me ["29022-11-5", "29022", "11"].
【问题讨论】:
-
到底是什么问题?这对我来说似乎是正确的答案。
-
这可能是重复的,但不是那个的重复。我仍然不清楚 OP 在问什么,因为他的正则表达式在这里似乎运行良好。
-
我给你做了一个sn-p来显示minimal reproducible example
-
我只想找到一个数字 "29022-11-5" 而不是这些值 ["29022", "11"]
标签: javascript regex string match