特定字符的元素之间的正则表达式

Regex between elements for specific characters

假设我有以下字符串:

&<div>test & test & test</div><&>

我将如何找到元素标签之间的所有 &,即 ></? (不必特定于 div)

到目前为止,我已经找到了 >.*(&).*<,但这只能找到 ></ 之间的最后一个 &。

对于上下文,我最终需要使用此正则表达式来翻译某些特殊字符以使用适当的转义字符,但仅限于元素之间。

要仅匹配 &,请使用前瞻:

&(?=[^<>]*</)

它不是防弹的,但希望对您的输入有用。

问题是.*表达式是“贪心”的。我在你的正则表达式中看不到最后一个 < 符号后的斜杠。

准确的答案取决于你使用的 RE 方言(你什么也没说),但在通常情况下,这一定有效:

>([^<&>]*(&)[^<&>]*)*</