0

<?and内にカプセル化されたすべてのテキストに一致させたい?>。先読みを使用してこれを行うかなり簡単な方法を見つけました。

<\?([^?]|\?(?!>))*\?>

残念ながら、先読みは私が正規表現を書いているツールではサポートされていません。これを回避する方法はありますか?

4

1 に答える 1

1

特定のケースでは、単純に繰り返しを貪欲にできません。

<\?(.*?)\?>

これは最初の?>. それより前のシングル?は でカバーされますが.*、エンジンが最初の?>に遭遇すると停止します。

(修飾子を使用しない限りDOTALL)これは、複数の行にまたがるセクションでは機能しないことに注意してください。修飾子を使用できない場合は、次のようにします (プラットフォームに依存しません)。

<\?((.|[\r\n])*?)\?>
于 2012-10-18T14:59:14.143 に答える