0

我想匹配封装在<?and中的所有文本?>。我发现了一种使用前瞻的相当简单的方法:

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

不幸的是,我正在为其编写正则表达式的工具不支持前瞻。有没有解决的办法?

4

1 回答 1

1

对于您的具体情况,您可以简单地使重复变得不贪婪:

<\?(.*?)\?>

这只会持续到第一个?>。之前的任何单曲?都将被 覆盖.*,但是当引擎遇到第一个?>时它将停止。

请注意(除非您使用DOTALL修饰符)这不适用于跨多行的部分。如果你不能使用修饰符,这将(独立于平台):

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