为了账号安全,请及时绑定邮箱和手机立即绑定

python 正则替换问题

python 正则替换问题

ABOUTYOU 2019-02-19 23:51:36
问题描述 现有一段字符串style="font-family: 微软雅黑; font-size: 6.67pt; vertical-align: super">1,2</span> ,想要将其中的1,2替换为[1,2],其中1,2只是一个例子可能有多个数字但是都是以,隔开。 问题出现的环境背景及自己尝试过哪些方法 匹配到1,2后也不知道该怎么后续处理,改变原字符串 相关代码 // 请把代码文本粘贴到下方(请勿用图片代替代码) 你期待的结果是什么?实际看到的错误信息又是什么? 现有一段字符串style="font-family: 微软雅黑; font-size: 6.67pt; vertical-align: super">1,2</span> ,想要将其中的1,2替换为[1,2],其中1,2只是一个例子可能有多个数字但是都是以,隔开。求教,谢谢! 急求!
查看完整描述

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

处理这种问题建议你灵活一点.

replace能做吗?
可以的.当然有局限.我们为什么不直接尝试将><改成>[]<?
replace('">','>['),这个替换左边.
右边replace('</span>',']</span>')
怪low的是不是.

正则表达式写法:

a ="""<span style="font-family: 微软雅黑; font-size: 6.67pt; vertical-align: super: ">1,2</span>"""

pattern = re.compile("(<span.*?>)(\d.*?)(</span>)")
pattern.search(a).groups()
# ('<span style="font-family: \xe5\xbe\xae\xe8\xbd\xaf\xe9\x9b\x85\xe9\xbb\x91; font-size: #6.67pt; vertical-align: super">',
# '1,2',
# '</span>')
re.sub(pattern,r"\1[\2]\3",a)
'<span style="font-family: \xe5\xbe\xae\xe8\xbd\xaf\xe9\x9b\x85\xe9\xbb\x91; font-size: 6.67pt; vertical-align: super">[1,2]</span>'
查看完整回答
反对 回复 2019-03-01
?
波斯汪

TA贡献1811条经验 获得超4个赞

为何要用正则进行匹配替换,如果是整个HTML文档,那么你可以借用 beautifulsoup 进行解析后,批量修改。

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 621 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信