我正在尝试使用C#从句子中提取诸如以下的单词。
示例句子:狗的:found $ bone和:found $ water
我尝试使用以下正则表达式
@"(?<!\w):\w+", RegexOptions.Compiled | RegexOptions.IgnoreCase)
这只会在“比赛”中返回“找到”。为什么它忽略了美元,我该如何解决?
答案 0 :(得分:0)
您的正则表达式仅与单词字符匹配,而与$
不匹配。更新字符类,使其包含$
字符和类似[\w$]
的字符。正则表达式的其他方面似乎使事情变得过于复杂,因此最终的正则表达式可能看起来像
\s:([\w$]+)
查找空格,后跟冒号,后跟一个或多个单词字符或$
字符。
根据您实际上对捕获感兴趣的内容,可以使用
这样的正则表达式。\s:(\w+)$(\w+)
.NET Fiddle上的示例