Skip to main content
 首页 » 编程设计

c#之正则表达式返回匹配前的单词

2024年01月21日27over140

我一直在尝试在匹配之前提取单词。比如我有下面这句话:

“Allatoona 是位于佐治亚州巴托县东南部的一个小镇。”

我想提取“Bartow”之前的词。

我已经尝试使用以下正则表达式来提取该词:

\w\sCounty, 

我返回的是“w County”,而我想要的只是 Bartow 这个词。

如有任何帮助,我们将不胜感激。谢谢!

请您参考如下方法:

您可以使用此正则表达式进行前瞻性查找 County 之前的单词:

\w+(?=\s+County) 

(?=\s+County) 是一个积极的前瞻,断言在当前匹配之前存在 1 个或多个空格后跟单词 County。

RegEx Demo

如果你想避免先行,那么你可以使用捕获组:

(\w+)\s+County 

并从匹配结果中提取捕获的第 1 组。