比如说,有多个正则表达式。
.+(?:BBB )?CCC它们以组的形式在单个表达式中组合- /^(first) (second)$/
两组人都不应该“了解”对方(意思是-我不能改变他们的表达方式)。
/^(.+) ((?:BBB )?CCC)$/.exec('AAA BBB CCC');目前的结果是:
["AAA BBB CCC", "AAA BBB", "CCC"]预期结果:
["AAA BBB CCC", "AAA", "BBB CCC"]我如何对组进行优先排序,以便BBB在第二个组中结束?
发布于 2014-11-27 09:01:13
将第一个.+ (在捕获组中)设置为非贪婪,方法是在+旁边添加不情愿的量词?
^(.+?) ((?:BBB )?CCC)$演示
> /^(.+?) ((?:BBB )?CCC)$/.exec('AAA BBB CCC');
[ 'AAA BBB CCC',
'AAA',
'BBB CCC',
index: 0,
input: 'AAA BBB CCC' ]https://stackoverflow.com/questions/27166579
复制相似问题