-1

質問が重複している場合は申し訳ありません

私はXMLファイルを持っています

<item>
   <attr1>attr1.1</attr1>
   <attr2>attr1.2</attr2>
</item>
...
<item>
   <attr1>attr2.1</attr1>
   <attr2>attr2.2</attr2>
</item>

そして、私がやりたいのは、正規表現を使用してアイテムの配列を取得することだけです。何らかの理由で、ここではjQueryを使用したくありません(jQuery.parseXMLについて読んだことがあります)。PHPのmatch_all()のようなjavascriptのすべてのアイテムまたは何かの関数を取得する方法を教えてください。そして、これが私の正規表現です。

 /<item>([\w\W]+?)<\/item>/

ありがとうございました!

4

2 に答える 2

0

zerkms が述べたように、javascript で XML を解析する方法はすでにあり、より幅広い堅牢性と柔軟性を提供します。また、正規表現を使用して正規言語のスーパーセットを解析しようとする質問に対して、特に悪名高い回答が 1 つあります。つまり、これは最善の方法ではありません。

ただし、まさにこのユースケースに興味がある場合は、残念ながら、php の match_all や python の re の findall のような機能はありません。このstackoverflow、特にコードブロックを見てください

var str = "I learned to play the Ukulele in Lebanon."
var regex = /le/gi, result, indices = [];
while ( (result = regex.exec(str)) ) {
    indices.push(result.index);
}

同様の方法で同じ正規表現の多くの出現を見つけることについての詳細については、最初の回答で。

于 2012-11-15T03:17:51.453 に答える