如果ab
之后没有ab
或x
,我想从字符串中删除y
。
例如,如果字符串为123ab456
,则结果应为123456
。
如果字符串为123abx456
,则结果应为123abx456
。
我该如何使用正则表达式呢?
答案 0 :(得分:3)
这是使用re.sub
且前瞻性为否的方法:
re.sub(r'ab(?![xy])', '', s)
s = '123ab456'
re.sub(r'ab(?![xy])', '', s)
# '123456'
s = '123abx456'
re.sub(r'ab(?![xy])', '', s)
# '123abx456'
详细信息
ab(?![xy])
ab
从字面上匹配字符ab(区分大小写)(?![xy])
[xy]
中出现的单个字符xy
与列表xy
中的单个字符匹配(区分大小写)