正则表达式匹配任何字符或不匹配?

用户名

我有以下两个字符串。

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

基本上,两个“”之间的任何字符或“”之间的任何字符。到目前为止,我已经尝试过了;

regex_example = re.search("\".+?\" [0-9]{3}", line1)
print regex_example.group()

这将适用于line1,但会给line2带来错误。这是由于“。” 匹配任何字符,但如果不存在任何字符,则给出错误。

有没有办法在两个“”之间匹配任何字符或什么都不匹配?

4城堡

使用.*?代替.+?

+ 表示“ 1个或更多”

* 表示“ 0或更大”

Regex101演示

如果您想使用更高效的正则表达式,请使用否定的字符类[^"]而不是惰性的数量词?您还应该使用原始字符串标志r\d数字。

r'"[^"]*" \d{3}'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式或不匹配

来自分类Dev

匹配任何字符串正则表达式

来自分类Dev

正则表达式匹配括号内的任何字符

来自分类Dev

正则表达式与某些字符不匹配

来自分类Dev

正则表达式匹配任何字符,包括空格

来自分类Dev

正则表达式与字符串不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

字符串与正则表达式不匹配

来自分类Dev

正则表达式匹配任何其他正则表达式不匹配的内容

来自分类Dev

表达式不匹配正则表达式

来自分类Dev

正则表达式不匹配字符串

来自分类Dev

正则表达式不匹配

来自分类Dev

替换与特定正则表达式不匹配的字符

来自分类Dev

正则表达式后跟字符时不匹配

来自分类Dev

Postgres正则表达式匹配-匹配字符或不匹配

来自分类Dev

正则表达式不匹配特定字符

来自分类Dev

正则表达式匹配(包括)之间的任何字符{}

来自分类Dev

匹配任何字符串正则表达式

来自分类Dev

正则表达式-跨多行匹配任何字符

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配空字符

来自分类Dev

bash正则表达式点“。” 字符不匹配

来自分类Dev

正则表达式惰性匹配与贪婪表达式匹配的字符串不匹配

来自分类Dev

正则表达式与字符串不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式unicode字符不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式匹配字符