Regex 需要正则表达式查找&;替换以忽略字符串中的代码字符

Regex 需要正则表达式查找&;替换以忽略字符串中的代码字符,regex,dreamweaver,Regex,Dreamweaver,在DreamWeaver中工作时,我需要在整个手稿中交换大量字符串上的结束/p标记,其中一些字符串中有结束/span标记。当我的正则表达式方法遇到/span标记时,它会忽略整个字符串。下面是一个例子: 我的开始和结束标识符是我在字符串开头创建的占位符标记(出于另一个目的)和结尾创建的/p标记,如下所示: <!--b-->Tuesday:</span> Advent Weekday [2]</p> 周二:降临节工作日[2] 我的正则表达式搜索字符串是: &l

在DreamWeaver中工作时,我需要在整个手稿中交换大量字符串上的结束/p标记,其中一些字符串中有结束/span标记。当我的正则表达式方法遇到/span标记时,它会忽略整个字符串。下面是一个例子:

我的开始和结束标识符是我在字符串开头创建的占位符标记(出于另一个目的)和结尾创建的/p标记,如下所示:

<!--b-->Tuesday:</span> Advent Weekday [2]</p>
周二:降临节工作日[2]

我的正则表达式搜索字符串是:

<!--b-->([^>]*)</p>
([^>]*)

它应该可以工作,但是当它看到/span标记时,它会传递整个字符串

我如何让我的正则表达式搜索方法忽略/span标记,或任何其他标记,在一个字符串中我需要生效

谢谢。

((?:(?!

))*)

<!--b-->((?:(?!</p>).)*)</p>
如果没有要匹配的换行符,应该可以使用。如果是这种情况,请使用

<!--b-->((?:(?!</p>)[\s\S])*)</p>
((?:(?!

)[\s\s])*)

说明:

(?:#组的开始
(?!

)#断言此处不可能匹配结束p标记 .#匹配任意字符 )*#尽可能多地重复
漂亮!谢谢你,蒂姆!