我需要对 SoapUI 项目执行许多重复修改,并试图在 jEdit 中使用正则表达式来执行批量编辑。我知道这种方法是惰性的,并且正则表达式不太适合解析 XML,但我希望获得有关我正在使用的正则表达式的建议(我认为它正在被编译成 Java 模式)以获得快速胜利。
这种模式似乎可以识别我感兴趣的标签。
<tag[\s\S]*?</tag>
此模式执行与前者相同的工作。
<tag[\s\S]*?[\s\S]*?</tag>
这种模式突然开始跨标签边界匹配,超出预期。
<tag[\s\S]*?string of interest[\s\S]*?</tag>
“多行模式” ([\s\S]*) 上的不情愿修改 (?) 的目的是限制匹配的内容在单个 XML 标记元素内。我对 Java 的正则表达式模式要求太多了吗?或者是否有合理的解释为什么在两个不情愿的模式之间添加内容会突然扩展匹配的字符串?是否对模式进行了修改,以实现将匹配限制在单个 XML 标记内的目标?