python 正则替换问题

问题描述

现有一段字符串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只是一个例子可能有多个数字但是都是以,隔开。求教,谢谢! 急求!

ABOUTYOU
浏览 622回答 2
2回答

holdtom

处理这种问题建议你灵活一点. 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>'

波斯汪

为何要用正则进行匹配替换,如果是整个HTML文档,那么你可以借用 beautifulsoup 进行解析后,批量修改。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python