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

Java正则表达式,找到某个符号时如何停止匹配,java,regex,character,match,Java,Regex,Character,Match,我最近喜欢上了regex。有件事真的很困扰我 如果后面没有特定符号,如何将我的正则表达式设置为仅匹配某些单词。 例如 假设我有一篇包含一些普通单词的文本,以及一些以大写字母结尾的单词。如果一个单词后面没有大写字母,我怎么才能让我的正则表达式检测到这个单词呢 Just some sample texT with wordS. ThiS should be Matched. 从这里我希望我的reggex匹配所有的单词,除了“texT,words和this” 提前感谢您的帮助:)您可以用几种方法来完

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

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

Just some sample texT with wordS. ThiS should be Matched.
从这里我希望我的reggex匹配所有的单词,除了“texT,words和this”


提前感谢您的帮助:)

您可以用几种方法来完成。可以包括

\b
只能匹配

  • 在字母和非字母字符之间
  • 在输入的开始或结束时
因此,为了确保匹配整个单词,我们可以将
\w+
\b
包围起来,就像
\b\w+\b

现在,为了确保您找到的单词不以大写字母结尾,我们可以简单地要求最后一个字符应该是小写的(范围
a-z


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

嗯,这几乎解决了我的问题。(事实上,它100%解决了我描述的问题)……但我想知道另一件事。我怎么能同时忽略以数字结尾的单词呢。例如“一些单词21”。。。我如何从中提取“som”和“word”?@Kobek为AFK感到抱歉,连接有问题。在这个特定的情况下,你可以只搜索小写字符,比如“代码> [AZ] +<代码>,但是有东西告诉我,这也可能不是你真正想要的:)@ Kobek,因为你同意这个答案解决了问题中所考虑的问题。另外,请让我知道我之前评论中的解决方案是否对您有效。@Kobek但如果您认为您提出了错误的问题,并且您不认为在当前状态下它对任何人都有帮助,请随时删除它(我不介意这个案例,因为根据你的评论,它看起来像是另一个案例,根据我编辑它的经验,吸引新答案的可能性非常低)。