我无法使这个正则表达式工作,我找到的任何罐头工作都没有可靠的工作.
期望的结果:
通过正则表达式匹配生成以下内容:
"Person One"
"Person Two"
"Person Three"
Run Code Online (Sandbox Code Playgroud)
在这些示例行中:
By Person One, Person Two and Person Three
By Person One, Person Two
By Person One
By Person Two and Person Three
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的并注意到,如果你中断了部分,我会得到部分匹配,但是看起来有些东西会把它扔掉.此外,如果有一个更简单但更可靠的方法来拉动所有"人",无论是否提供一个,两个或三个"和".它没有支持比三个以上,但只要"和"道最后的"人"的肯定#可以保持变量不影响正则表达式,我觉得.
保存当前尝试(匹配一个,但如果你拆分我的后视并运行它然后它匹配所有"和"行:
(?<=by )((\w+) (\w+))(?:,\s*)?((\w+) (\w+))?(?:\s*(?<=and ))((\w+) (\w+))
Run Code Online (Sandbox Code Playgroud)