在正則表達式中我真的很糟糕,我不知道該怎麼做。我想在()或[](包括方括號)內捕捉任何內容,之後什麼都沒有。例如,如果我鍵入[this is text]
我希望它返回完全。另外我有一個json充滿了用戶類型的術語。如果該術語不在json上,則不應該打印。這是與正則表達式有關的代碼片段。正則表達式 - 在圓括號和括號內捕獲任何東西
let sf_re = /(?:(,)\s+|\s+(xx)\s+)|\+|(,)/
if (document.querySelector(".images")){
document.querySelector(".images").innerHTML = ""
for(var i=0;i<item.length;i++){
if(/(\[(.*?)\]|\((.*?)\))/.test(item[i])){
let text = item[i]
let note = document.createElement("span")
note.innerHTML = String(text)
document.querySelector(".images").appendChild(note)
}
Here is an example of what happens
唯一令應顯示爲[cat cat cat]
。 「狗」不應該出現,因爲它不在我的名單上。在regexr中,它似乎工作正常。我不知道要添加什麼。
編輯:我認爲我原來的文章沒有足夠的信息。用戶使用.split()
鍵入輸入欄,該輸入欄被拆分爲一個數組。我的主要目標是允許用戶添加小段文字。例如,如果我的json有術語「貓」,「狗」和「豬」,並且用戶鍵入這些術語,那麼它將返回一些內容。 This is what I get using the suggestions below.注意「f」第一次如何返回箭頭,但不是第二次。我不知道爲什麼會發生這種情況。我可能會使用「匹配」錯誤。我嘗試這樣做,我得到一個錯誤「無法讀取的未定義的屬性」:
let regex = /(\[(.*?)\]|\((.*?)\))/
if (document.querySelector(".images")){
document.querySelector(".images").innerHTML = ""
for(var i=0;i<item.length;i++){
if(item[i].match(regex)[0]){
let text = item[i]
let note = document.createElement("span")
note.innerHTML = String(text)
document.querySelector(".images").appendChild(note)
}
'另外我有一個JSON充滿了用戶類型的術語......然後使用JSON解析器,而不是原始正則表達式。 –