首页 > 解决方案 > 正则表达式 - 排除以多次出现开头的字符串

问题描述

使用 phpstorm 正则表达式搜索(仅用于您的信息)我需要在包含的文件中搜索任何字符串

\\

而不是以前开始

http:
https:
http:\
https:\
[
]

我尝试这样的事情没有完全成功......

^(?!http:\\*|http:\\\\*|\[\\\\*)\\

例如,我只需要像某些字符串 Es 一样找到 \。

$upload_dir="\\foo\\bar"; 

并避免类似的事情

http:\\www.google.com

标签: regex

解决方案


将重复的字符放在前瞻之外,以便它们被正确使用(否则,在前瞻结束后,引擎仍然只会匹配字符串开头的位置)。

请注意,如果http:不允许,则该规则也将自动禁止http:\(对于 https 也是如此),因此无需将它们分开 - 就https?:足够了。

^(?!https?:|[[\]]).*\\\\

https://regex101.com/r/RwYB2P/1


推荐阅读