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

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

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

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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号