[英]javascript regex, replace multiple instances with a single one in multiline string
我在javascript中有一個多行字符串,如下所示:
"<p> </p>
<p> </p>
<p> </p>
<p> </p>
"
我試圖刪除<p> </p>
的額外實例,所以我試圖使用以下正則表達式。
var content = getContent() // This returns the string mentioned above.
content = content.replace(/(<p> <\/p>)+/g, "<p> <\/p>");
但這似乎不起作用。 很可能因為字符串是一個多行字符串? 我用單行字符串嘗試了上面的正則表達式,它工作正常。 在閱讀了一些關於javascript正則表達式的文檔之后,我意識到我們需要使用m
修飾符來處理多行字符串。 所以我把正則表達式改為:
content = content.replace(/(<p> <\/p>)+/gm, "<p> <\/p>"); // note the `m` modifier
但它仍然無效。 任何線索?
這個替換:
content = content.replace(/(<p> +<\/p>\n*)+/g, "<p> </p>");
/=> <p> </p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.