python正则表达式问题

标签 python regex

我有以下代码:

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/

相关文章:

由于执行新的应用程序,Python 操作系统命令无法正常工作

python - 在基于 Django 类的 View 中传递查询参数

python - 将 Python 系统调用作为字符串结果获取

angularjs - 使用 ngpattern 验证自然输入数字

jquery - 将变量传递给 jquery 中的正则表达式模式字符串

正则表达式最大数量 11 且必须为 2 位数字

python - 有没有好的彩色图可以使用python的PIL将灰度图像转换为彩色图像?

python - 为什么 while 循环中的缩进会产生问题?

regex - Linux - 根据带有标题和尾部的关键位置对文件进行排序

python - 根据正则表达式中的标识符对元素进行分组