假设我有一串:
http://mitavite.v10.fw8.co/kb/tags/breedings~breeding~foobar~breeding~foo
让我们在/tags/
TAG 之后调用所有内容。
然后让我说要删除标签,"育种"。
我想创建一个正则表达式,可以在字符串中搜索所需的标记,如果它后跟~
后缀添加到结果中,则将其从字符串中删除。以下是我的尝试:
breeding([?!.*\~]|[^!?a-zA-Z0-9]+)
虽然这可能在我的测试字符串中有用,但如果我将breeding
更改为foo
,则它不会选择字符串中的最后一个标记。
我的问题是它只找到由~
提供的标签,我认为我需要匹配的是:
1. the tag name by it self, not followed by any other character except for the
〜`character
演示:http://regex101.com/r/kR9mG4/1
我无法弄清楚如何匹配这个。
答案 0 :(得分:2)
你可能正在寻找这样的东西:
str = str.replace(/\bbreeding\b~?/g, '')
单词边界\b
不消耗任何字符。它断言,一方面有一个字符,而另一方则没有。添加量词?
将在零到一次之间匹配~
。
答案 1 :(得分:0)
要删除breeding~
,请简单地说:
replaced = yourString.replace(/\bbreeding~/g, "");