【发布时间】:2018-09-07 13:50:56
【问题描述】:
我正在尝试创建一个正则表达式来匹配字符串的最后一个单词,但前提是字符串以特定模式开头。
例如,我只想在字符串以“The cat”开头时获取字符串的最后一个单词。
- “猫吃黄油”-> 将匹配“黄油”。
- “猫喝牛奶”->会匹配“牛奶”
- “狗吃牛肉” -> 找不到匹配项。
我知道下面会告诉我最后一句话:
\s+\S*$
我也知道我可以使用正面的观察来确保字符串以某种模式开头:
(?<=The cat )
但我想不出将它们组合起来。
我将在 c# 中使用它,我知道我可以将它与一些字符串比较运算符结合起来,但我希望这一切都在一个正则表达式中,因为这是我将要使用的几个正则表达式模式字符串之一正在循环播放。
有什么想法吗?
【问题讨论】:
-
使用
(?s)(?<=^.*)\b\w+$(.NET,PyPi 正则表达式)或(?s)^.*\K\b\w+$(PCRE,Ruby) -
(?<=^The cat.*)\b\w+$呢? -
是的,我忘了在上面的例子中输入
The cat:)
标签: regex