2016-12-19 77 views
-2

我有一個XML字符串,看起來像匹配的正則表達式忽略空格和換行

<parent><child>value</child></parent> 

我想寫這個字符串匹配的正則表達式。竅門是,有時輸入中會有隨機的新行和空格。

例如:

<parent> 
    <child>value</child></parent> 

我希望能夠使用正則表達式,如果輸入的XML有父母,子女和值來識別。

到目前爲止,我已經試過:

「<parent>\n\s*<child>value<\/child>」 

但這似乎並不匹配。我不明白如何忽略表達式中的所有空格和所有新行。

SOLUTION: 所以,當你與舊系統的工作,在醫療保健的工具,例如,你可能經常需要匹配XML請求,它是非常可能的...通過試驗和這裏的錯誤是爲我工作:

^<parent>\s*<child>value[\S\s]* 
+1

要插入'\ S *'之間的每個'><'。 –

+3

不要使用正則表達式解析XML。 – trincot

+1

[https://regex101.com/r/58j84v/1](https://regex101.com/r/58j84v/1)可能是 –

回答

3

您不應該使用正則表達式解析XML。相反,使用XML解析器,這是available in JavaScript

var sMyString = '<parent><child>value</child></parent>'; 
 
var oDOM = new DOMParser().parseFromString(sMyString, "text/xml"); 
 
var txt = oDOM.documentElement.textContent; 
 
console.log(txt);

這個解析器知道如何處理空白。需要注意的是白色的空間內也能發生在標籤,就像<parent >