在工作中,有这样的一个场景,需要在一个正则表达式中,匹配一个变量。因此查阅了好多文档,最后找到了。
方法是这样:
re.finditer(r'(%s)(\d{1,3})(\s*</td>\s+<td>\d{1,3}</td>\s*)(<td>)(\d{1,3})(\s*</td>)' \ %(past_one_day,u'[\u4e00-\u9fa5]'),url_read)#卧槽,这种问题解决了不容易啊,纪念一下!!! data = []就是在正则表达式中使用符号变量替换即可。
后面的是匹配中文字符。其中后面的url_read必须要是unicode字符。否则会报错。
其中常用的是\d表示匹配的是数字,\s匹配的是空白字符,\S匹配的是非空白字符。+表示至少一次,* 表示0次或者无限次。