环境:
python3.7
解析:
'''
1.正则匹配串前加了r就是为了使得里面的特殊符号不用写反斜杠了。2.[ ]具有去特殊符号的作用,也就是说[(]里的(只是平凡的括号3.正则匹配串里的()是为了提取整个正则串中符合括号里的正则的内容4. .是为了表示除了换行符的任一字符。*克林闭包,出现0次或无限次。5. 加了?是最小匹配,不加是贪婪匹配。6. re.S是为了让.表示除了换行符的任一字符。
'''
1、匹配()内内容,不加?,贪婪匹配
p = re.compile(r'[(](.*)[)]', re.S)
由上图可知,【贪婪匹配】最终获取的为【最外层括号包含的内容 】
2、匹配()内内容,加?,最小匹配
p = re.compile(r'[(](.*?)[)]', re.S)
由上图可知,【最小匹配】最终获取的为【字符串中除含有嵌套子括号外的全部括号内容 】
3、获取删除括号内的内容
import re
string1 = '海堤(段)终点坐标(东经)(度)'
string2 = "分(泄)洪闸(节制闸、排退水闸、引进水闸、挡潮闸)设计过闸流量"
p = re.compile(r'[(](.*?)[)]', re.S)
new_str1 = re.sub(p,'',string1)
new_str2 = re.sub(p,'',string2)
print(f"new_str1:{new_str1}")
print(f"new_str2:{new_str2}")
本文链接:https://my.lmcjl.com/post/2256.html
展开阅读全文
4 评论