【发布时间】:2018-09-19 19:02:05
【问题描述】:
我正在尝试使用 JavaScript 正则表达式来检查字符串是否匹配特定的一组字母,后跟 5 个或 6 个数字。例如,如果字符串是'MyValue12345 blah blah MyValue123456 blah MyValue222221',它应该返回匹配的['MyValue12345', 'MyValue123456', 'MyValue222221']。我是 RegEx 新手(显然),我的表达方式很接近,但不完全是我想要的......
这是我的第一次尝试:
var str = 'MyValue12345 blah blah MyValue123456 blah MyValue222221';
var matchArr = str.match(/MyValue\d\d\d\d\d|MyValue\d\d\d\d\d\d/gi);
matchArr 然后等于['MyValue12345', 'MyValue123456', 'MyValue22222'],但是MyValue22222 的最后一个值不是我要找的,我想让它说出MyValue222221 的完整表达式。我知道有更好的方法可以做到这一点,但我很难得到它......有什么想法吗?
【问题讨论】:
-
我收到
["MyValue12345", "MyValue12345", "MyValue22222"] -
是的,我想我有一些错别字;此后我进行了一些编辑...但基本上我希望最后一个元素是
MyValue222221而不是MyValue22222。 -
您可以使用
+使选择变得贪婪吗?MyValue\d+?
标签: javascript regex match