做ctf命令执行的时候发现php的preg_match函数正则转义符号规则和在线网站(ex:regex101.com)有点不一样,网上直接搜没看到文章,所以自己在本地测试一下(php8.0.2) 懒得截图了,直接上结论 符号前加\和\都能匹配:( 、)、*、.、[、]、?、^、{、}、| 符号前加\能匹配,加\不能匹配:$(加\时preg_match返回1) 符号前加\或\都匹配不到:+ \是在前面加两个或三个\才能正常匹配 这个匹配咋这么邪门,果然还是学少了