在 python 中编写正则表达式时,我很挣扎。例如我得到以下权利
"GET /images/launch-logo.gif HTTP/1.0" 220 1839
是匹配的
"(\S+) (\S+)\s*(\S*)" (\d{3}) (\S+)
但是我仍然需要将以下情况全部包括在内
"GET /history/history.html hqpao/hqpao_home.html
HTTP/1.0" 200 1502
"GET /shuttle/missions/missions.html Shuttle Launches from
Kennedy Space Center HTTP/1.0"200 8677
"GET /finger @net.com HTTP/1.0"404 -
显然我应该改变表达式的粗体部分
"(\S+) (\S+) \s* (\S*)" (\d{3}) (\S+)
但是我该怎么改。我想到了一种方法,将粗体部分更改为
[\s |(\s*)(\S+) |(\S+)(12) |(\S+)]
其中 2nd, 3rd , 4th 表达式是我需要处理的 (1), (2), (3) 额外情况。
但我的表达不起作用。我对正则表达式有什么误解,因为我只是逐个处理它。
动漫人物
jeck猫
相关分类