我在執行我想要實現的任務時遇到了困難,它可能只是睡眠剝奪,但更有可能的是,正則表達式不是我的強項,我只是不能很好地解決它,但希望有人能在這裏給我一隻手。JavaScript正則表達式格式化字符串
我有以下字符串:
<span class="comment"><!--Some string\nsome other string\nsome more string--></span>
我需要使它看起來像這樣格式化:
<span class="comment"><!--Some string</span>\n<span class="comment">some other string</span>\n<span class="comment">some more string--></span>
現在,這將是非常容易的,如果這是唯一的字符串作爲我可以做這樣的事情:
/</span>\n<span class="comment">/gi
然而格式只應該發生如果對應ding open </span>
有類「評論」,另一個問題是帶有類註釋的開放span標籤不一定是字符串的第一個單詞,可能有一個字符串在它的前面,並且可以有無數個\ n在範圍內...例如另一個變化可能看起來像這樣:
<<span class="tag">string1\nstring2</span>><span class="comment"><!--string\nanother random string--></span>
無格式應與類標籤跨度內發生,但是格式化應該發生在類註釋跨度。
這是相當具有挑戰性的我身邊讓我的頭,我得到的最接近的是以下幾點:
正則表達式:
/<span class="comment">([^\<\/]*)\n/gi
更換:
<span class="comment">$1</span>\n<span class="comment">
此靠攏,因爲它使用類註釋格式化跨度範圍內的最後一行和第一行,而不是之間的行。
可能有JavaScript解決方案來做到這一點,但如果可能我寧願使用正則表達式。
你只是想用''替換'\ n'嗎?你不需要這樣的正則表達式。 – Mathletics
@Mathletics,看起來他想要' \ n ',但除了那個細節你似乎是對的! – jmeas
@sircodesalot我不認爲這適用;這實際上是將標記嵌入到字符串中,而不是解析HTML。 – Mathletics