尝试形成一个正则表达式来匹配关键字的模式,我发现的模式类似于
- 删除
:
之前的所有单词,直到出现空格,并删除:
之后的所有单词,直到)
出现。
在 this jsfiddle 中查找该术语.
var newInput="keyword2:(content2) app keyword1:(content1) sos keyword:(content) das sad";
我正在寻找类似的输出
app,sos,das,sad
最佳答案
newInput.replace(/[^:\s]+:\([^)]*\)\s*/g, ''); // "app sos das sad"
说明
[^:\s]+: # any character (except ' ' and ':') in front of ':' "keyword1:'" \([^)]*\) # any character enclosed in '(' ')' "(content2)" \s* # trailing spaces " "
这将返回一个以空格分隔的字符串。您必须自己 trim 它并按空格分割(或替换它们)。
关于javascript - 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12312336/