云烟成雨 发表于 2022-1-19 17:00

求助python正则问题,很简单

我想匹配一个字符串中间的字符,


例子:<div class='qqq'>目标字符</div>


我应该怎么写正则才能匹配到'目标字符' ?

流月汐志 发表于 2022-1-19 17:06

本帖最后由 流月汐志 于 2022-1-19 17:07 编辑


aa = """<div class='qqq'>目标字符</div>"""
re.search(">(.*)<", aa).group(1)

Prozacs 发表于 2022-1-19 17:06

目标字符 = re.findall(r'qqq\'>(,*?)<, str(例子))

卧槽666 发表于 2022-1-19 18:00

一律(.*?)梭哈{:1_926:}

GiaoMan-wei 发表于 2022-1-19 18:25

1、最好的方法还是能够分析目标字符的规律什么的,前后左右的字符是辅助定位。你这个给出来,基本都是(.*)就搞定了,不过你应该不会想要这么简单的答案~~
2、还有你要分析html的话,最需要注意避免转义。

ncu.xxy 发表于 2022-1-19 19:16

.*?大法你值得拥有

涛之雨 发表于 2022-1-19 19:23

上面的.*?不是很推荐
如果标签文件里没有<的话最好就用
">([^<]+)</"

想把风吹灭的火 发表于 2022-1-19 20:13

正则表达式中有分组的概念,建议使用这个网站测试 https://regex101.com/
http://tva1.sinaimg.cn/large/007sou3jly1gyj8rc8grjj31aa0mbn71.jpg

云烟成雨 发表于 2022-1-19 20:33

流月汐志 发表于 2022-1-19 17:06

aa = """目标字符"""
re.search(">(.*)

可行,就是只能匹配一个,改用findall了

sapin 发表于 2022-1-19 21:40

这样?
p = re.compile(r'<(.*)>(.*)<\/(.*)>')
p.search(r"<div class='qqq'>目标字符</div>").group(2)
页: [1] 2 3
查看完整版本: 求助python正则问题,很简单