匹配正则表达式忽略空格和新行

时间:2016-12-19 20:26:40

标签: javascript regex xml

我有一个类似于

的xml字符串
<parent><child>value</child></parent>

我正在尝试编写与此字符串匹配的正则表达式。特技是,有时输入中有随机的新行和空格。

例如:

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

如果输入xml有父,子和值,我希望能够识别使用正则表达式。

到目前为止,我已经尝试过:

“<parent>\n\s*<child>value<\/child>”

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

解: 因此,当您使用旧系统时,例如在医疗保健工具中,您可能经常需要匹配xml请求,而且很可能......通过试验和错误,这对我有用:

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

1 个答案:

答案 0 :(得分: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 >