我有以下两个字符串:
line1 = [16/Aug/2016:06:13:25 -0400] "GET /file/ HTTP/1.1" 302 random stuff ignore
line2 = [16/Aug/2016:06:13:25 -0400] "" 400 random stuff ignore
我正在尝试获取这两个部分;
"GET /file/ HTTP/1.1" 302
"" 400
基本上是两个引号之间的任何字符或者没有字符。到目前为止我尝试过这个:
Basically any character in between the two "" or nothing in between "". So far I've tried this;
regex_example = re.search("\".+?\" [0-9]{3}", line1)
print regex_example.group()
这个方法可以处理line1,但会因为'.'匹配任何字符且没有字符存在时报错而无法处理line2。
是否有办法使它在两个引号之间匹配任何字符或不匹配任何字符?
r'"[^"]*" [0-9]{3}'
。 - anubhava