我有一个正则表达式:
(?<=Employees)([a-zA-Z ]+?)(?=s?that)
匹配两个单词之间的每个名字。(Employee
和that
)
现场演示
但这是为php
编写的,我需要JavaScrpit
"风味"。
如果我删除"违规"代码:
(Employees)([a-zA-Z ]+?)(?=s?that)
现场演示
那么正则表达式也包含Employee。我如何编写正则表达式来排除Employee
单词,而只包括Employee
和that
之间的单词,就像第一个php
正则表达式中一样。
?:
是一个非捕获组,所以只需将其放在正则表达式的Employee部分之前:
(?:Employees)([a-zA-Z ]+?)(?=s?that)
这里有一个要测试的演示。
您也可以将其完全从捕获组中取出:
Employees([a-zA-Z ]+?)(?=s?that)
这是这个版本的演示。