我正在通过两个单独的调试工具调试^(A+)*B一个字符串上的正则表达式AAAC(例如来自rexegg.com):我有权访问:
以下是结果(左侧的regex101):
我的问题主要不在于对我来说同样重要的步骤数量,而是回溯的方式.为什么我们看到差异?(regex101使用PCRE lib并且我将RegexBuddy lib设置为相同)
全面的逐步解释对我有利.
我无法使这个正则表达式工作,我找到的任何罐头工作都没有可靠的工作.
期望的结果:
通过正则表达式匹配生成以下内容:
"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)