小编Col*_*fin的帖子

解析多个名称 - 正则表达式中间的Lookbehind不起作用

我无法使这个正则表达式工作,我找到的任何罐头工作都没有可靠的工作.

期望的结果:

通过正则表达式匹配生成以下内容:

"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)

https://regex101.com/r/z3Y9TQ/1

regex lookbehind

5
推荐指数
1
解决办法
139
查看次数

标签 统计

lookbehind ×1

regex ×1