仅当未跟随另一个特定字符串时才匹配字符串

时间:2013-12-03 18:16:46

标签: php regex

我有#[\s]+on[a-z]+[\s]*=#si。我需要匹配( preg_replace )字符串,如onclick =,但前提是此字符串后面没有其他特定字符串。

示例(粗体是匹配)

  

某些文字 onClickOrWhatever = 某些文字

     

一些文字onClickOrWhatever =我的特殊字符串一些文字

第二行不应该匹配,因为表达式后跟“my special string”。换句话说,我需要保持完整的特定内联javascript,但删除(销毁)任何其他。

这个表达式有点过于笼统。它也会部分匹配you told me once =),我知道这一点。

1 个答案:

答案 0 :(得分:3)

好的回答你的问题,你可以使用negative lookahead

#\s+on[a-z]+\s*=(?!\s*my special string)#i

此处您还不需要s标记用于制作DOT匹配newline