-2

VBAで正規表現をまとめようとしていますが、ルビーでもうまくいきません。

文字列:

<thead class="thead"><tr><th>FECHA</th><th>ITLUPVALOR</th><th>ITLUPPLAZO</th><th>ITLUP30DIAS</th><th>ITLUP60DIAS</th><th>ITLUP90DIAS</th><th>ITLUP180DIAS</th><th>ITLUP270DIAS</th><th>ITLUP360DIAS</th><th>ITLUP720DIAS</th><th>ITLUP1080DIAS</th><th>ITLUP1440DIAS</th><th>ITLUP1800DIAS</th></tr></thead>

私が試したこと:

/(?:<thead class=\"thead\"><tr>)(<th>[^<]+?<\/th>)+(?:<\/tr><\/thead>)/m

ここでのアイデア ( http://rubular.com/r/BpbPszctTw ) は、1 つではなく 9 つのサブマッチを持つことでした。

私は何が欠けていますか?

4

2 に答える 2

1

申し訳ありませんが、正規表現の繰り返しグループは、グループ内の最後の一致のみをキャプチャします。詳細については、 http://www.regular-expressions.info/captureall.htmlを参照してください。

更新:本当ですが、他の回答のように、正規表現の一致に繰り返しを行わせると、http://rubular.com/r/BclU13qWYmごとに複数の一致を取得できます。言い換えれば、この答えではなく、他の答えを受け入れてください。:-)

于 2013-07-09T23:03:58.927 に答える
0

このパターンを使用すると、必要なものを取得できます。

/<thead class="thead"><tr>|\G<th>([^<]+)<\/th>/

最初の結果を削除するだけです。

于 2013-07-10T00:35:18.787 に答える