Python使用re实现str.strip()方法,去除首尾的空格

主要用到的新知识:

‘+d_str+’ 对某一个d_str变量中的字符串进行正则匹配

话不多说,先上代码;

'''
类似于str方法中的strip方法
去除首尾两端的指定字符或字符串
'''
import re

def py_strip(p_str, d_str=' '):
    temp = re.search(r'[^('+d_str+')].*',p_str).group()
    #print(temp)
    res = re.search(r'.*[^('+d_str+')]',temp).group()
    #print(res)
    return res

if __name__ == '__main__':
    st1 = input()
    st2 = input()
    res = py_strip(st1,st2)
'''
example:
st1 = 'abc123abc'
st2 = 'abc'
res = '123'
'''

正则表达式解释:

temp = re.search(r’[^(‘+d_str+’)].*’,p_str).group()
‘+d_str+’ 这是对于一个变量的正则表达式的描述方法; ,需要记住,以后会经常用到
[^(‘+d_str+’)] 在[ ]内的‘^’字符出现在开头,表示匹配不包含该字符的其他字符
[^(‘+d_str+’)].* 最后添加的 ‘.*’ 字符,表示的是剩余的其他字符;由于我们是要去除d_str字符,保留剩余的字符,因此采用这种方式。

解释的不好,语言表达能力实现有限~~~~

你可能感兴趣的:(python学习)