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

2021/9/10 14:05:13

本文主要是介绍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}")

 



这篇关于python 正则匹配括号内的内容及删除括号内内容的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程