for x in file_format.keys():
reg = file_format[x]['regstr']
p = re.compile(reg, re.S)
rs = p.findall(data)
for line in data:
for i in range(len(rs)):
if (re.search(rs[i],line)):
strs = str(re.sub(rs[i], 'newValue', line))
总是提示 if (re.search(rs[i],line)): 这里出错,return _compile(pattern, flags).search(string),是参数格式问题么?请问怎么解决?
python re.search问题
答案:3 mip版
解决时间 2021-02-26 08:18
- 提问者网友:看不透忘不了
- 2021-02-25 09:43
最佳答案
- 二级知识专家网友:口袋里的自由
- 2021-02-25 10:45
我也遇到过类似的问题。检查一下语句中:“if (re.search(rs[i],line))” “line”类型,如果不是string 或buffer的话就会报错。比如说,如果line是tuple的话,应该就会报错。试试把 if (re.search(rs[i],line)) 中的line改为str(line) 或 unicode(line)
PS:具体的,情况我也还没有完全找出来,如果你有找出问题的关键所在,多多交流!
PS:具体的,情况我也还没有完全找出来,如果你有找出问题的关键所在,多多交流!
全部回答
- 1楼网友:阳忆青希
- 2021-02-25 13:27
<_sre.sre_match object at 0x01fed5d0> 返回的是一个匹配对象 ,调用对象的group方法获得字符串
>>> import re
a = re.search('\d+','231422sadf')
>>> a.group(0)
'231422'
- 2楼网友:癡情菂尐豬豬
- 2021-02-25 11:57
你的正则表达式写错了,就是说file_format[x]['regstr']这个值有字符编码问题。
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯