江湖散人 发表于 2021-8-19 22:17:13

正则匹配的小疑问

import re
s = """
<div class='man'>ali<div class='1'>学生</div>
<div class='man'>boy<div class='2'>老师</div>
<div class='man'>cals<div class='3'>校长</div>
<div class='man'>da<div class='4'>班主任</div>
<div class='man'>fully<div class='5'>门卫</div>
"""
resp = re.compile(r"<div class='man'>.*?<div class='(?P<m>\d)'>(?P<n>.*?)</div>", re.S)
result = resp.finditer(s)
for i in result:
    print(i.group('m'), i.group('n'))

这个小程序主要是想得到数字编号和身份(例如学生)的信息,可是返回结果什么也没有。
哪位大神帮看看!谢谢

大马强 发表于 2021-8-19 22:28:03

粗心啊,有个?写成中文的了
s = """
<div class='man'>ali<div class='1'>学生</div>
<div class='man'>boy<div class='2'>老师</div>
<div class='man'>cals<div class='3'>校长</div>
<div class='man'>da<div class='4'>班主任</div>
<div class='man'>fully<div class='5'>门卫</div>
"""
resp = re.compile(
    r"<div class='man'>.*?<div class=(?P<m>.*?)>(?P<n>.*?)</div>", re.S)
result = resp.finditer(s)
for i in result:
    print(i.group('m'), i.group('n'))

柿子饼同学 发表于 2021-8-19 22:28:13

要细心呀 , 中间的问号是中文的

江湖散人 发表于 2021-8-19 23:13:35

柿子饼同学 发表于 2021-8-19 22:28
要细心呀 , 中间的问号是中文的

谢谢啊

江湖散人 发表于 2021-8-19 23:14:25

大马强 发表于 2021-8-19 22:28
粗心啊,有个?写成中文的了

谢谢啊,确实是,中间变换中文了,忘记变回来了{:5_109:}
页: [1]
查看完整版本: 正则匹配的小疑问