正则表达式在比赛前返回单词

And*_*ans 1 c# regex

我一直试图在比赛前提取这个词.例如,我有以下句子:

" Allatoona是一个位于乔治亚州巴托县极端东南部的小镇. "

我想在"巴托"之前提取这个词.

我试过以下正则表达式来提取这个词:

\w\sCounty,
Run Code Online (Sandbox Code Playgroud)

我得到的回答是"w县",当我想要的只是巴托这个词.

任何帮助将不胜感激.谢谢!

anu*_*ava 6

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

\w+(?=\s+County)
Run Code Online (Sandbox Code Playgroud)

(?=\s+County)是一个积极的先行者,断言存在一个或多个空格,然后County是当前匹配之前的单词.

RegEx演示

如果您想避免前瞻,那么您可以使用捕获组:

(\w+)\s+County
Run Code Online (Sandbox Code Playgroud)

并从匹配结果中提取捕获的组#1.