繁体   English   中英

使用正则表达式查找具有可选结尾的模式

[英]Finding a pattern with optional end using regular expression

我正在寻找一个单个正则表达式来提取文本块,该文本块可以带有可选的end 这里的挑战只是使用单个正则表达式。

输入如下:

Anchor:  This is the text I want to extract          A/C  : 2015-5-20
Anchor:  This is the text I want to extract        

我目前正在使用以下正则表达式

Anchor:(?<extact>.*)(A\/C)

结果如下:

在此处输入图片说明

如果我将A / C块Anchor:(?<extact>.*)(A\\/C)?可选,则Anchor:(?<extact>.*)(A\\/C)? 使用? 匹配时间太长:

它看起来如下: 在此处输入图片说明

任何想法如何用一个正则表达式优雅地解决这个问题。 另一个约束是我想在正则表达式中有一个命名块(此处为extact

您可以在regex101上找到示例代码: https ://regex101.com/r/wH5iQ4/1

Anchor:(?<extact>.*?)\s*(?=A\/C|$)

您可以利用lookahead here.See演示。

https://regex101.com/r/wH5iQ4/3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM