正则表达式中的括号单位返回额外的匹配项
parenthetical units in regex returning extra matches
我是正则表达式的新手,一直在努力解决一个问题,并将我的问题抽象为以下问题:
var foo = "abc";
var array1 = match(/abc/);
var array2 = match(/a(b)c/);
Array1 当然只包含 "abc",但 array2 将同时包含 "abc" 和 "b"。
为什么 array2 也会拾取"b"? 这对我来说是一个问题,因为我将大括号内的某些内容(如"{1 2a 3}")与 /'{('d(|a|b)'s?)+'}/
这样的正则表达式匹配,结果数组返回空字符串和"3"以及所需的"{1 2a 3}"。
谢谢!
艾萨克
使用 (?:)
而不是 ()
。
/{(?:'d(|a|b)'s?)+}/
使用 ()
时,match
也返回匹配的组。组是字符串的一部分,对应于正则表达式的各个部分,正则表达式在()
中。
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 正则表达式中的括号单位返回额外的匹配项
- 数字和单位的正则表达式