南子大帅哥 2022-10-05 10:48 采纳率: 25%
浏览 28

python正则匹配返回不全

python正则表达式返回不全


```python
import re
f=open('hh.txt','r',encoding='utf-8')
f=f.read()
patten='(\n.{10,50}){6}\n(\s){8}'
fin=re.findall(patten,f)


匹配内容是

 <tr>
            <td>66.66.66.66</td>
            <td>66</td>
            <td>上海市 阿里云</td>
            <td>未知</td>
            <td>HTTP</td>
            <td>2032-10-25 08:59:19</td>
        </tr>


###### 返回的是    [('\n            2022-10-05 08:59:19', ' ')]


###### 考虑可能是列表元素过长,但是试过更长的元素依然可以完整保存。而且试过把\s 存储进列表元素也可以完整保存

###### 用这个正则表达式应该可以匹配这一整段,测试也显示可以匹配,但是返回的是日期那一行。想知道问题出在哪
  • 写回答

3条回答 默认 最新

  • Java大魔王 2022-10-05 10:52
    关注

    findall的参数加上,最后加上re.S呢

    fin=re.findall(patten,f,re.S)
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 10月5日