繁体   English   中英

如何使用正则表达式删除只有“11.x”模式的字符串?

[英]How to use regex to remove string with only '11.x' pattern in it?

我有一个值列表,

lst = ['python 3.x', 'java', 'pandas', '12.1.x/11.x', '7.x/8.x']

我想用空字符串替换最后两个值['12.1.x/11.x', '7.x/8.x']

如何使用正则表达式将它们替换为跨相似模式泛化的空字符串?

pattern = re.sub('\d+\.x\/\d+\.x', '', lst[3]) # this is not working

您需要确保使用锚点并指定第二个版本号是可选的:

^(?:\d+\.)+(?:x|\d+)(?:/(?:\d+\.)+(?:x|\d+))?$

https://regex101.com/r/c0CDr5/1

我不知道如何使用 Python 正确应用此功能,因此请查看上面链接中的代码生成器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM