我正在使用JavaScript來完成一些正則表達式。考慮到我正在處理格式良好的源代碼,並且我希望在[,。]之前移除任何空格,並且在[,。]之後只保留一個空格,但[,。]是數字的一部分。因此,我使用:正則表達式來搜索/替換文本,而不是HTML屬性
text = text.replace(/ *(,|\.) *([^ 0-9])/g, '$1 $2');
問題是,這也取代了html標記屬性中的文本。例如我的文本(總是用標籤包裝):
<p>Test,and test . Again <img src="xyz.jpg"> ...</p>
現在添加一個空格,這樣src="xyz. jpg"
預期不會。我怎樣才能重寫我的正則表達式?我想要的是
<p>Test, and test. Again <img src="xyz.jpg"> ...</p>
謝謝!
這不是正則表達式所擅長的,因爲HTML不是常規語言。有太多的範圍/嵌套/上下文。 – CaffGeek 2010-08-11 15:26:25
是否通過DOM訪問該文本? – Gumbo 2010-08-11 15:39:06
是的,我想,即使我沒有嘗試過。我想把它寫成一個CKEditor插件,這就是爲什麼我說「格式良好」(好吧,我的意思是XHTML無論如何)。我有源代碼,但我認爲我可以得到的是DOM元素。 – jcisio 2010-08-13 08:10:12