更新时间: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