由于无法解决此问题,我一直在努力解决这个问题。
我正在尝试从字符串中匹配并输出一个特定的单词,例如,以这个字符串为例:
<ANIMALS>
<value>DOG CAT COW</value>
</ANIMALS>
现在我要匹配它们中的任何一个并返回该值,否则不返回任何值,例如COW。 我尝试了很多不同的表情,但是没有运气,例如:
IF(VALUE == "/(^|\W)COW($|\W)/", "COWVALUE", "NONE")
这是行不通的,我尝试过的任何其他变体也不行。如果我将原始字符串保留为一个单词,而没有实际的调用表达式,仅保留一个单词,那么它将始终有效。一旦引入一串字,我就无法实现。
有人可以帮忙吗?
谢谢!
答案 0 :(得分:0)
摆脱(^|\W)
和($|\W)
的局限,因为它们仅在单词边界匹配,但是您想在COW
本身不是单词时匹配。正则表达式应仅为/COW/
,它将与该字符串出现在字符串中的任何位置匹配。
顺便说一句,要匹配单词边界,可以使用\b
而不是那些替换。
答案 1 :(得分:0)
不确定您使用的是哪种编程语言,但是下面是一个基于Javascript的简单示例,可以实现您的目标。 regex demo