这个php正则表达式边界集的等效JavaScript正则表达式是什么



我有一个正则表达式:

(?<=Employees)([a-zA-Z ]+?)(?=s?that) 

匹配两个单词之间的每个名字。(Employeethat

现场演示

但这是为php编写的,我需要JavaScrpit"风味"

如果我删除"违规"代码:

(Employees)([a-zA-Z ]+?)(?=s?that)

现场演示

那么正则表达式也包含Employee。我如何编写正则表达式来排除Employee单词,而只包括Employeethat之间的单词,就像第一个php正则表达式中一样。

?:是一个非捕获组,所以只需将其放在正则表达式的Employee部分之前:

(?:Employees)([a-zA-Z ]+?)(?=s?that)

这里有一个要测试的演示。


您也可以将其完全从捕获组中取出:

Employees([a-zA-Z ]+?)(?=s?that)

这是这个版本的演示。

最新更新