我試圖開發一個函數,將[粗體] ... [/ bold]轉換爲<b> ... </b >對於我論壇。到目前爲止,當只有一組[bold] ... [/ bold]時,這種方式是完美的,但是,每當添加第二個時,正則表達式不會識別第一個[bold]的結尾,直到第二。在正則表達式中識別多組打開標記,正文和關閉標記
爲了說明這一點,如果我把 「[黑體]你好[/粗體],你怎麼樣[黑體]今天[/粗體]?」,我應該得到這樣的:
你好,如何你今天是?
不過,我真的開始是這樣的:
你好[/粗體],你怎麼樣[黑體]今天?
下面是我目前的功能:
function formatBolds(str) {
output = output.replace(/(\[bold\])(.*)(\[\/bold\])/g, "<b>$2</b>");
}
「貪婪」通常意味着正則表達式會盡量做出最左邊,最長的匹配。 – CoverosGene 2014-12-05 20:58:28