如何使用正则表达式仅删除出现在字符串末尾的单词(对于雅虎管道)?

发布于 2024-11-01 09:06:52 字数 268 浏览 4 评论 0原文

我需要一个正则表达式来查看字符串中的最后一个单词,如果它是我选择的单词,则将其删除。例如,如果我选择“狗”这个词,“这只狗是一只很棒的狗”将返回“这只狗是一只很棒的狗”。我不希望它影响该单词的所有实例,除非它恰好位于字符串的最末尾。

这是针对我正在设置的 Yahoo Pipe 的。预先感谢您的帮助。 -麦克风

I need a Regex that will look at the last word in the string and eliminate it if it's a word that I've selected. For instance, if I'm selecting the word "dog," "This dog is a great dog" would return "This dog is a great." I don't want it to affect all the instances of that word, only if it happens to be at the very end of a string.

This is for a Yahoo Pipe that I'm setting up. Thanks in advance for your help.
-Mike

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

那支青花 2024-11-08 09:06:52

正则表达式 \bdog$ 仅匹配字符串末尾。如果关键字后面可以有空格,请尝试 \bdog\s*$。如果您希望在 dog 之后允许使用其他字符(字母数字除外),例如标点符号,请使用 \bdog\W*$

\b 是一个单词边界锚点,可确保仅匹配整个单词 dog,而不是像 underdog 中那样是单词的一部分。

\s 匹配空格。

\w 匹配字母数字字符; \W 匹配任何非alnum 的内容。

The regex \bdog$ matches only at the end of the string. If there can be whitespace after your keyword, try \bdog\s*$. If you want to allow other characters (except for alphanumerics) after dog, for example punctuation, then use \bdog\W*$.

\b is a word boundary anchor that makes sure that only an entire word dog is matched - not part of a word as in underdog.

\s matches whitespace.

\w matches an alphanumeric characters; \W matches anything that's not an alnum.

私藏温柔 2024-11-08 09:06:52
/\s?dog[\s\.]*$/
  • 1 个可选空格
  • dog
  • 0 个或更多:空格或 .
  • 行尾
/\s?dog[\s\.]*$/
  • 1 optional whitespace
  • dog
  • 0 or more: whitespace or .
  • End of line
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文