且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Python RegEx 用于括号的精确匹配

更新时间:2022-05-05 23:45:15

在搜索尖括号中的内容之前,您可以简单地忽略方括号中的所有内容:

You can simply disregard everything between square brackets before searching for things in angle brackets:

interm = re.sub(r'\[(.*?)\]', '', text)
re.findall(r'<(.+?)>', interm)

输出

['inAngle', 'anotherInAngle']

然后为了匹配第一部分,匹配[ 之前的所有内容.如果允许字符串随机将这些符号中的任何一个嵌入到第一部分中,那么这将不起作用:

then for matching the first part, match everything up to [ or <. Granted this wont work if a string is allowed to randomly have either of these symbols unclosed embedded in the first part:

re.findall(r'([^<\[]+)', text)[0]

输出

some random string