【发布时间】:2021-09-08 20:43:53
【问题描述】:
我正在尝试在 PCRE 中编写一个正则表达式,它捕获单词的第一部分并排除第二部分。第一部分需要适应不同的值,具体取决于事务从何处发起。这是一个例子:
原始文本:
.controller.CustomerDemographicsController
已尝试正则表达式模式:
\.controller\.(?P<Controller>\w+)
尝试实现的结果(粗体是我要保存在命名捕获组中的唯一内容):
.controller.CustomerDemographics控制器
注意:我尝试使用 ^、lookback 和 lookforward 排除。
非常感谢任何帮助。
【问题讨论】:
-
停止的规则是什么?单词 char 序列中的最后一个大写字母?
-
@WiktorStribiżew,是的,这是停止的规则。
-
@WiktorStribiżew,成功了!非常感谢您的帮助。非常感谢!
-
如果您只使用捕获组值,您实际上不必使用环视。如果是这种情况,this answer 也为您工作。