monster__– 2025-01-23 11:51 采纳率: 83.3%
浏览 10
已结题

关于#python#的问题:为啥我这个正则表达式会报错呢,我照着b站的视频写的,是因为python解释器版本

为啥我这个正则表达式会报错呢,我照着b站的视频写的,是因为python解释器版本的问题吗


```python

import re
res = re.match(r'<(?P<n1>\w*)><(?P<n2>\w*)>.*</(?P=n1)></(?P=n2)>','<html><h1>www.baidu.com</h1></html>')
print(res.group())

```

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2025-01-23 11:56
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析:
    1. 在导入re模块时应使用import re而不是import reres
    2. 正则表达式中的语法错误,应使用r'<(?P<n1>\w*)><(?P<n2>\w*)>.*</(?P=n1)></(?P=n2)>'而不是r'&lt;(?P<n1>\w*)&gt;&lt;(?P<n2>\w*)&gt;.*&lt;/(?P=n1)&gt;&lt;/(?P=n2)&gt;'
    3. 匹配字符串应该使用re.search()而不是re.match()
    4. res.group()方法需要传入参数来指定要匹配的组 以下是修改后的代码示例:
    import re
    res = re.search(r'<(?P<n1>\w*)><(?P<n2>\w*)>.*</(?P=n1)></(?P=n2)>','<html><h1>www.baidu.com</h1></html>')
    print(res.group(0))
    

    以上代码就能返回<html><h1>www.baidu.com</h1></html>,根据你的想要的变量的选项修改响应参数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月12日
  • 已采纳回答 5月4日
  • 创建了问题 1月23日