男人,我很困惑。我一直在尋找像這樣的一百萬個問題,但即使簡化,所有答案都不起作用。正則表達式來查找特殊字符之間的文本
我想要捕獲$[
和]
之間的文本。
爲什麼不\$\[.*\]
工作?即使我遵循方括號指南,但它不起作用。
Jsfiddle to show that it doesn't work.
const content = "[Hey] (Ho) [f(1)]"
const example1 = '\[.*\]'
const example2 = '\[(.*?)\]'
const regex1 = new RegExp(example1, "g")
const regex2 = new RegExp(example2, "g")
const newText1 = content.replace(regex1, "EXAMPLE1")
const newText2 = content.replace(regex2, "EXAMPLE2")
console.log(newText1) //Prints [Hey] (Ho) [f(1)]
console.log(newText2) //Prints [Hey] EXAMPLE2HoEXAMPLE2 [fEXAMPLE21EXAMPLE2]
有一個錯誤,它不會打印出正確的字符串,當它在結尾處找到兩個括號時。所以'$ [[hey]]'變成'[hey'。任何想法來解決這種行爲? – Yeats
@Yeats如果你有嵌套括號,那麼你應該使用解析器。這個正則表達式中沒有「bug」。 –
看起來很漂亮的車給我。 – Yeats