【问题标题】:Regex expression to match word in a string正则表达式匹配字符串中的单词
【发布时间】:2018-08-09 20:29:47
【问题描述】:

我一直在努力解决这个问题,因为我无法让这个表达方式起作用。

我正在尝试从一个字符串中匹配并输出一个特定的单词,例如,取这个字符串:

<ANIMALS>
<value>DOG CAT COW</value>
</ANIMALS>

现在我想匹配其中任何一个并返回该值,否则不返回任何值,例如 COW。 我尝试了很多不同的表达方式,但都没有成功,例如:

IF(VALUE == "/(^|\W)COW($|\W)/", "COWVALUE", "NONE") 

这不起作用,我尝试过的任何其他变体也不起作用。如果我将原始字符串保留为一个单词并且没有实际的调用表达式,只是一个单词,那么它总是有效的。一旦我介绍了一串单词,我就无法让它发生。

有人可以帮忙吗?

谢谢!

【问题讨论】:

  • 那是什么编程语言?

标签: regex xml regex-group


【解决方案1】:

去掉(^|\W)($|\W),因为它们只匹配单词边界,但是当COW 本身不是单词时,你想匹配它。正则表达式应该只是/COW/,它将匹配该字符串出现在字符串中的任何位置。

顺便说一句,要匹配单词边界,您可以使用 \b 而不是那些替代项。

【讨论】:

    【解决方案2】:

    不确定您使用的是哪种编程语言,但以下是一个基于 Javascript 的简单示例,可以实现您的目标。 regex demo

    【讨论】:

      猜你喜欢
      • 2021-05-23
      • 2011-12-13
      • 2014-07-09
      • 2016-12-06
      • 2016-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多