XML中的正则表达式匹配单词(Matlab regexp)

时间:2016-11-05 15:21:27

标签: regex xml matlab parsing

我尝试使用Matlab regexp解析xml文件。具体来说,我喜欢检索一个单词" curvepoint"的所有事件的数组。两者之间发生 "存款"和" / deposit"。所以对于下面的xml,它应该是一个[6x1]数组,如

"

float

"

我在下面的尝试并不起作用,因为每个"曲线点"之间散布着许多其他文字。单词发生率和前瞻/后退,但我不知道如何处理这个问题。

<curvepoint>
<curvepoint>
<curvepoint>
<curvepoint>
<curvepoint>
<curvepoint>

XMLText是

regexp(XMLText,'(?<=<deposits>)(<curvepoint>)(?=</deposits>)','match')'

1 个答案:

答案 0 :(得分:0)

永远不要使用正则表达式来解析XML。最好的解决方案是脆弱的。请改用真正的XML解析器。

在MATLAB中,使用xmlreadxmlwritexslt函数来读取,写入和转换XML。

请注意MathWorks blog has XML posts在MATLAB中使用这些函数。