正则表达式来匹配字符串中的单词

时间:2018-08-09 20:29:47

标签: regex xml regex-group

由于无法解决此问题,我一直在努力解决这个问题。

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

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

现在我要匹配它们中的任何一个并返回该值,否则不返回任何值,例如COW。 我尝试了很多不同的表情,但是没有运气,例如:

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

这是行不通的,我尝试过的任何其他变体也不行。如果我将原始字符串保留为一个单词,而没有实际的调用表达式,仅保留一个单词,那么它将始终有效。一旦引入一串字,我就无法实现。

有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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