1

アンバランスなペア構造のコンテンツを抽出する必要があります。PCREのマニュアルで、バランスの取れた括弧を一致させるための解決策を見つけました。

<\[ ( (?>[^(<\[|\]>)]+) | (?R) )* \]>

私のテストのために

<[<[ab<[cd]>]><[ef]>

抽出します

0.0: <[ab<[cd]>]>
0.1: <[ef]>

しかし、最も外側の括弧なしで同じコンテンツを抽出したい:

0.0: ab<[cd]>
0.1: ef

誰でも解決策を指摘できますか?

4

1 に答える 1

0

さて、あなたの正規表現の外観から、最も外側のエンクロージャ内のコンテンツ (用語の通常の使用法では括弧ではありません) は、既に括弧グループに取り込まれています。PCRE ライブラリをどのようなコンテキストで使用しているかはわかりませんが、必要な抽出は「一致 #1」(パターン一致全体が一致 #0) に存在する必要があります。つまり、データはすでに次のようになっているはずです。

0.0: <[ab<[cd]>]>
0.1: <[ef]>
1.0: ab<[cd]>
1.1: ef
于 2009-08-06T18:52:52.877 に答える