Regex 正则表达式匹配字符串中以结尾的最后一个单词

Regex 正则表达式匹配字符串中以结尾的最后一个单词,regex,Regex,我希望正则表达式匹配字符串中以结尾的最后一个单词。匹配应该是前面的单词。… 示例:“与此不匹配。此句子以最后一个单词结尾…” 匹配项应该是word。这很接近:\b\s+([^.]*)。但是,我不知道如何在最后只匹配… 这不应该匹配:“不要匹配这个。这句话以最后一个词结尾。”您可以使用$将正则表达式锚定到结尾。要匹配文字句点,需要将其转义,否则它是元字符: (\S+)\.\.\.$ \S匹配除类空格字符以外的所有字符,这取决于您的正则表达式风格,它完全匹配什么,但通常不包括空格、制表符、换行符和

我希望正则表达式匹配字符串中以
结尾的最后一个单词。
匹配应该是
前面的单词。…

示例:“与此不匹配。此句子以最后一个单词结尾…”

匹配项应该是
word
。这很接近:
\b\s+([^.]*)
。但是,我不知道如何在最后只匹配


这不应该匹配:“不要匹配这个。这句话以最后一个词结尾。”

您可以使用
$
将正则表达式锚定到结尾。要匹配文字句点,需要将其转义,否则它是元字符:

(\S+)\.\.\.$
\S
匹配除类空格字符以外的所有字符,这取决于您的正则表达式风格,它完全匹配什么,但通常不包括空格、制表符、换行符和一组unicode空格

你可以在这里玩:


如果使用
\s+
,则表示前面必须至少有一个空格字符,因此在这种情况下,它将不匹配
单词…

如果要使用否定字符类,还可以使用

([^\s.]+)\.{3}$
  • Capturegroup 1
    • [^\s.]+
      匹配除空格字符或点之外的任何字符的1+倍
  • 关闭组
  • \.{3}
    匹配3个点
  • $
    字符串结尾

(\S+)\.$