试图形成一个正则表达式匹配关键字的方式,我找到这个模式,就像JavaScript的 - 正则表达式
- 删除发生
:
之前的所有单词,直到一个空间和发生:
毕竟的话,直到)
。
在this jsfiddle找到该术语。
var newInput="keyword2:(content2) app keyword1:(content1) sos keyword:(content) das sad";
进出口寻找的输出像
app,sos,das,sad
试图形成一个正则表达式匹配关键字的方式,我找到这个模式,就像JavaScript的 - 正则表达式
:
之前的所有单词,直到一个空间和发生:
毕竟的话,直到)
。在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 " "
这将返回一个空格分开的字符串。你将不得不修剪它并自己拆分(或替换它们)。
你可以试试:
var words = newInput.replace(/[^\s]+:\([^\)]+\)\s+/g, "").split(/\s+/);
将产生的单词的数组为:
["app", "sos", "das", "sad"]
如果你想有一个逗号分隔的字符串,如图接下来的问题:
var words = newInput.replace(/[^\s]+:\([^\)]+\)\s+/g, "").split(/\s+/).join(", ")
它必须是正则表达式?您可以通过空格分隔空格并筛选以'keyword'开头的项目。 – Jeff
它不一定是术语关键字...它可以是随机单词... – Sam