为了账号安全,请及时绑定邮箱和手机立即绑定

有一个实际的需求我构思了很久很久

就是给字符串的每一个字符前后都确保有.* 

key = r'djaskljflkasdfjklfj'

p1 = r'(.)'

p2 = r'(.$)'

newkey = re.sub(p1,r'.*\1',key)

newkey = re.sub(p2,r'\1.*',newkey)

print(newkey)

-->.*d.*j.*a.*s.*k.*l.*j.*f.*l.*k.*a.*s.*d.*f.*j.*k.*l.*f.*j.*


以上我是经过了两次正则匹配,有没有办法一条正则就做到这一点呢

正在回答

1 回答

# 不知算不算满足同学需求
import re
key = r'djaskljflkasdfjklfj'
p1 = r'(.)'
p2 = lambda matched:".*"+ matched.group(0) if matched.span()[1] < matched.endpos else ".*"+ matched.group(0) + ".*"
new_key = re.sub(p1,p2,key)
print(new_key)


0 回复 有任何疑惑可以回复我~
#1

全是甘货 提问者

不算满足了,但你教会了我多个正则同时使用的方法,非常感谢!
2020-03-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有一个实际的需求我构思了很久很久

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信