如果有特定前缀,如何忽略正则表达式匹配
How to ignore a Regex match, if there is a specific prefix
我正在使用这个表达式来查找路径。
([^\s\&\=\;\,\<\<\>\"\'\(\)]+\/[\w\/])([^\"\'\n\;\}\)\s]*)
当前匹配项是:
位置:/user/login.php xx... /user/login xx.. .text/htmlabcd类型text/html哎abc/def
我想忽略具有“type
”前缀的匹配项
所以应该是这样的
位置:/user/login.php xx... /user/login xx.. .text/htmlabcd类型text/html嘿嘿abc/def
对于那些单独的匹配项,您可以在左侧断言空白边界或不在 type
之前
请注意,字符 class 中的大多数字符不需要自行转义。
(?<!\S|\btype )[^\/\s&=;,<>"'()]*(?:\/[^"'\n;})\s]+)+
在部分中,模式匹配:
(?<!\S|\btype )
负向后视,是否向左有空白边界 type
[^\/\s&=;,<>"'()]*
可选择匹配所列字符中的 1 个
(?:
非捕获组
\/[^"'\n;})\s]+
匹配任何列出的字符 1 次以上
)+
关闭非捕获组并重复 1+ 次以匹配至少一次出现的 /
我正在使用这个表达式来查找路径。
([^\s\&\=\;\,\<\<\>\"\'\(\)]+\/[\w\/])([^\"\'\n\;\}\)\s]*)
当前匹配项是:
位置:/user/login.php xx... /user/login xx.. .text/htmlabcd类型text/html哎abc/def
我想忽略具有“type
”前缀的匹配项
所以应该是这样的
位置:/user/login.php xx... /user/login xx.. .text/htmlabcd类型text/html嘿嘿abc/def
对于那些单独的匹配项,您可以在左侧断言空白边界或不在 type
请注意,字符 class 中的大多数字符不需要自行转义。
(?<!\S|\btype )[^\/\s&=;,<>"'()]*(?:\/[^"'\n;})\s]+)+
在部分中,模式匹配:
(?<!\S|\btype )
负向后视,是否向左有空白边界type
[^\/\s&=;,<>"'()]*
可选择匹配所列字符中的 1 个(?:
非捕获组\/[^"'\n;})\s]+
匹配任何列出的字符 1 次以上
)+
关闭非捕获组并重复 1+ 次以匹配至少一次出现的/