我有这样的示例数据:
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Re: Krishna P Mohan (31231231 / NA0031212301)
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
这是我所期望和目前得到的:
预期op - Krishna p Mohan
输出- Krishna p Mohan (31231231/NA0031212301)
我需要找到在Re:之后的名称,直到(。我得到了完整的行,而不是只有名字,直到括号开始。
代码var regex = new Regex(@"[nr].*Re:s*([^nr]*)");
var fullNameText = regex.Match(extractedDocContent).Value;
如果您只想要一个匹配,您可以使用后面的断言:
(?<=bRe:s*)[^s()]+(?:[^nr()]*[^s()])?
(?<=bRe:s*)
正向后看,断言单词Re:
后面跟着可选的空白字符[^s()]+
匹配除(
和)
以外的1个或多个非空白字符(?:
非捕获组[^nr()]*
可选地重复匹配除换行符和(
或)
以外的任何字符[^s()]
匹配除(
和)
以外的非空白字符
)?
关闭非捕获组
如果您想要捕获组值,并且您只匹配单词字符:
bRe:s*([^nr(]+)b
Regex演示
否则可以使用:
bRe:s*([^s()]+(?:[^nr()]*[^s()])?)