关于使用正则表达式\Q和\E匹配动态URL的语法咨询
正则表达式白名单写法指导
你之前的写法存在问题:
\Q和\E是用来将中间内容当作纯字面量解析的,把\w放在\Q\E范围内的话,它会被当成普通字符\w,而非正则中匹配字母数字下划线的元字符,完全达不到匹配动态数字的效果。针对你要匹配的URL(动态部分为纯数字),正确的正则写法如下:
\Qhttps://blatest-\E\d+\Q.cat.mat.import.com\E具体说明:
\Qhttps://blatest-\E:将这段固定字符串当作字面量处理,避免://这类特殊字符被误判为正则语法\d+:匹配1个或多个数字,正好对应动态变化的数字部分\Q.cat.mat.import.com\E:同样将后半段固定域名当作字面量解析
如果是在代码中使用字符串形式(比如Java、Python这类需要转义反斜杠的语言),要写成:
"\\Qhttps://blatest-\\E\\d+\\Q.cat.mat.import.com\\E"补充:如果后续动态部分允许字母或下划线,才用
\w+替换\d+,但当前你的需求是匹配数字,用\d+更精准,不会匹配到无关内容。
内容的提问来源于stack exchange,提问作者Freddy
相关产品推荐
相关产品推荐

