最近用Python做一个crawler工具的时候,发现用一个正则表达式可以匹配到个数据的时候用match.group()只能打印出第一个数据,其它数据不能打印出来.最后找到解决方法,现在记录一下,直接贴代码: P = re.compile(r'<a(\s)href=\"/android/info/([0-9]*)\.html\?fw=([0-9]*)\"', re.M) match = p.findall(txt) …
需要解决的问题:要匹配字符串,字符串中字母的大小写不确定,如何匹配? 问题出现之前是使用字符串比较的方式,比如要匹配'abc',则用语句: if s == 'abc':#s为需要匹配的字符串 print '匹配成功\n' 现在的问题是s可能是Abc.ABC等等,所以需要大小写不敏感的匹配,如果把需要匹配的模式的大小写进行罗列,那即使是三个字母的短模式也是很麻烦,查了一下,正则表达式re模块中有个参数flags=re.I,这样就可以大小写不敏感的匹配了,示例如下: import re s = 'A…
正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHERE 1 and `client_id` = 'a08f5e32909cc9418f' and `is_valid` = '1' order by id desc limit 32700,100; # Time: 160616 10:05:10 # User@Host: shuqin[qqqq] @ [1.1…
正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHERE 1 and `client_id` = 'a08f5e32909cc9418f' and `is_valid` = '1' order by id desc limit 32700,100; # Time: 160616 10:05:10 # User@Host: shuqin[qqqq] @ [1.1…
参数re.S jsProp = 'b' fpData = '''var a = []; var b = []; var c = [];''' .*是尽可能匹配多的 searchResult = re.search((r'((var\s+|\s*)%s\s*=\s*)\[.*\]'%jsProp), fpData, re.S) 结果:searchResult == '''var b = []; var c = []''' .*?匹配到第一个满足条件的 searchResult = re.s…
python 处理时间 import time import re now = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()) timeobj = re.match(r'(.*)-(.*)-(.*) (.*):(.*):(.*)', now) if timeobj is not None: timestamp = time.mktime(time.strptime(now, "%Y-%m-%d %H:%M:%S")…
Shell查看文件的最后5行,并对每行进行正则匹配,代码如下: #!/bin/sh pattern="HeartBeat" /home/test/log/log_20150205.log | while read line do if [[ $line =~ $pattern ]] then echo "Match" else echo "No match" fi echo $line done…