我正在寻找一个正则表达式,它可以匹配给定字符串中的一个或多个特定单词,但有限制 - 如果模式后面有一个单词,则该单词不应大写。 我们假设这些单词是“Base Case”,所以这里有一些示例
最终基本案例
- 应匹配最终基本案例财务
- 应匹配最终基本案例财务
- 不应匹配(下一个单词“财务”大写)最终基本案例
- 不应匹配(“Case”和“Cases”不匹配)
我使用以下正则表达式来确定我的单词是否是字符串的一部分
\bBase Case(?!\w)
有人可以帮我修改我的正则表达式以添加对下一个大写单词的限制吗?
最佳答案
您需要在搜索模式后检查两种情况:
- 字符串结尾(
$
);或 - 另一个不以大写字母开头的单词 (
\s+[^A-Z\s]
)
您可以使用此正则表达式来做到这一点:
\bBase Case(?=$|\s+[^A-Z\s])
请注意,由于前瞻的后半部分在下一个单词之前断言了一个空格,因此它会阻止基本情况
或类似情况的匹配。
关于c# - 正则表达式检测单词是否是字符串的一部分并且下一个单词是否未大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62186903/