python 正则匹配括号内的内容及删除括号内内容

环境:

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 评论

留下您的评论.