我有一堆需要清理的字符串,它有以下模式:
12345SNET1
1234567SNETA2
123456SNET3
令人头痛的是,SNET之后的任何内容都可以是0到9之间的任何整数,也可以是a-Z中的字符加上0到9之间的整数
是否仍然可以使用正则表达式来检测字符串是否具有此模式,以便我可以使用:
if regex detect (returns True):
str = str[:-1]
elif regex detect (returns True):
str = str[:-2]
Tags:
您可以使用
re.fullmatch
检查(返回True
是给定字符串与regex的全部匹配)与基本regex,如.*SNET\d
和.*SNET[A-Z]\d
,也不要使用str
作为变量名,它是一个内置字您可以直接使用
re.sub
替换结束符为了便于使用,您可以在方法中导出它
如果使用正确的正则表达式,不需要有两个case
这会打印出来
如果希望文本位于最后一个字符之前,可以在正则表达式中添加额外的括号以捕捉该部分:
结果
您可以使用
re.sub
与正向查找相结合,以以下方式丢弃不需要的字符:相关问题 更多 >
编程相关推荐