正则表达式未按预期工作 /(d).1/
RegEx not working as expected /(d).1/
我是正则表达式的初学者,所以我正在阅读堆栈溢出上的正则表达式的信息页面。
例如:/(d).''1/匹配并捕获"abcdadef"中的"爸爸",而 /(?:.d){2}/匹配但不捕获"cdad"。
我试过了:-
var pattern=/(d).'1/
var val="abcdadef";
console.log(pattern.exec(val));
它显示了["爸爸","d"]的数组,但我不知道为什么?正如信息中所述,它只是捕获"爸爸",为什么它会捕获数组中的两个值?模式末尾的"''1"有什么用?
请向我提供有关如何使用它的更多信息。
谢谢 :-)
当你使用()时,你告诉正则表达式匹配()之间的in并将其存储为捕获组。每场比赛都有自己的捕获组。在这里试试你的表达方式。正则表达式匹配对象通常是一个集合,其中包含正则表达式的整个匹配项,后跟捕获该匹配项的组。
编辑:根据您在下面的评论,这是另一种模式(m).'1
,我们正在执行正则表达式的文本是mum。在此示例中,正则表达式将尝试执行以下操作:
- 匹配文字
m
,因此我们使用了()
,它将匹配存储在捕获组中。此捕获组稍后将进入匹配集合。 -
.
将匹配换行符以外的任何字符,因此在我们的例子中,它将匹配文字u
。 -
'1
将尝试使用第一个匹配组作为模式来匹配下一个字符,在我们的例子中,这将是文字m
。
最终结果将是 mum
的正则表达式匹配,唯一的捕获组将是 m
。
相关文章:
- javascript正则表达式验证未按预期工作
- Javascript正则表达式未按预期工作
- 如何让我的正则表达式代码在我的dojo cellWidget对象上工作
- 正则表达式未按预期工作 /(d).1/
- Javascript正则表达式在IE中失败,但在Chrome和Edge中工作
- FireFox插件sdk页面工作正则表达式
- 这个正则表达式不应该工作吗?
- javascript正则表达式,可以't让+表达式工作
- 如何让分组表达式和全局标志在 Javascript 正则表达式中同时工作
- 正则表达式不能用 .replace() 工作
- Javascript 正则表达式无法正常工作
- 正则表达式无法正常工作以识别 IE 版本
- 数据表正则表达式搜索无法按预期工作以实现完全匹配
- 这个正则表达式是如何工作的
- 为什么这个正则表达式不能按照我想要的方式工作
- 用于验证电子邮件无法正常工作的正则表达式
- 正则表达式在 javascript 中没有按预期工作
- 为什么我的正则表达式在 .NET 中工作,但在 Javascript 中不起作用
- 正则表达式无法正常工作
- 为什么这个JavaScript不能取代工作?(不包含正则表达式)