有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java正则表达式,找到某个符号时如何停止匹配

我最近喜欢上了regex。有件事真的很困扰我

如果后面没有特定符号,如何将我的正则表达式设置为仅匹配某些单词。 例如 假设我有一篇包含一些普通单词的文本,以及一些以大写字母结尾的单词。如果一个单词后面没有大写字母,我怎么才能让我的正则表达式检测到这个单词呢

Just some sample texT with wordS. ThiS should be Matched.

从这里我希望我的reggex匹配所有的单词,除了“texT,words和this”

提前感谢您的帮助:)


共 (1) 个答案

  1. # 1 楼答案

    你可以用几种方法来做。可以涉及word boundaries ^{}

    \b只能匹配

    • 在字母和非字母字符之间
    • 在输入的开始或结束时

    因此,为了确保我们匹配整个单词,我们可以用类似\b\b\w+\b包围\w+
    现在,为了确保您找到的单词不以大写字母结尾,我们可以简单地要求最后一个字符应该是小写的(范围为a-z

    所以我们可以将正则表达式重写为\b\w+[a-z]\b