試圖形成一個正則表達式匹配關鍵字的方式,我找到這個模式,就像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