regex 如何使用正则表达式来删除一个词,只有当它出现在字符串的末尾(雅虎管道)?

mxg2im7a  于 2023-05-08  发布在  其他
关注(0)|答案(2)|浏览(81)

我需要一个正则表达式,它将查看字符串中的最后一个单词,如果它是我选择的单词,则将其删除。例如,如果我选择单词“dog”,“This dog is a great dog”将返回“This dog is a great.”我不希望它影响该单词的所有示例,除非它恰好位于字符串的最后。
这是我正在设置的Yahoo Pipe。先谢谢你的帮助。- 迈克

koaltpgm

koaltpgm1#

正则表达式\bdog$只匹配字符串的末尾。如果关键字后面可以有空格,请尝试\bdog\s*$。如果要在dog之后允许其他字符(字母数字除外),例如标点符号,则使用\bdog\W*$
\b是一个字边界锚,它确保只匹配整个字dog,而不是像underdog那样匹配一个字的一部分。
\s匹配空白。
\w匹配字母数字字符; \W匹配任何不是alnum的对象。

e5nszbig

e5nszbig2#

/\s?dog[\s\.]*$/
  • 1个可选空格
  • dog
  • 0或更多:空格或.
  • 行尾

相关问题