栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python正则表达式;替换部分比赛

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python正则表达式;替换部分比赛

如果只想在字母后删除零,则可以使用:

([a-zA-Z])0+

替换为

1
反向引用。请参阅regex演示。

([a-zA-Z])
将捕获了一封信,
0+
将匹配1个或多个零。

Python演示:

import res = 'e004_n07'res = re.sub(r'([a-zA-Z])0+', r'1', s)print(res)

请注意,这

re.sub

将查找并替换所有不重叠的匹配项(将执行全​​局搜索并替换)。如果不匹配,则将按原样返回字符串,而无需进行修改。因此,无需使用额外的
re.match
/
re.search


UDPATE

要保留1个零(如果数字仅包含零),可以使用

import res = ['e004_n07','e000_n00']res = [re.sub(r'(?<=[a-zA-Z])0+(d*)', lambda m: m.group(1) if m.group(1) else '0', x) for x in s]print(res)

参见Python演示

此处,

r'(?<=[a-zA-Z])0+(d*)'
正则表达式
0+
将ASCII字母(
(?<=[a-zA-Z])
)之后的一个或多个零()匹配,然后使用捕获任何其他数字(0或更多)到组1中
(d*)
。然后,在替换中,我们检查第1组是否为空,如果为空,则插入
0
(只有零),否则,我们插入第1组的内容(第一个前导零之后的剩余数字)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647377.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号