我有以下代码:
what = re.match("get|post|put|head\s+(\S+) ",data,re.IGNORECASE)
在 data 变量中,假设我有这一行:
GET some-site.com HTTP/1.0 ...
如果我在调试器中停止脚本,并检查 what 变量,我可以看到它只匹配 GET。为什么它不匹配 some-site.com ?
最佳答案
正则表达式语言运算符优先级将 head\s+(\S+)
作为第四个选择。 @Mykola Kharechko 的回答中的括号将 head
安排为第 4 个备选方案,并且 \s+(\S+)
附加到任何备选方案匹配组。
关于python正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606221/