我需要一个正则表达式来匹配下一行。我认为需要一些巧妙的解决方案来匹配平衡括号之间的文本。
示例行:
[link_name1](linkspec1(t1)) and [link_name2](linkspec2(t2))
表达式需要匹配,如下所示:
匹配1:
完全匹配:link_name1
group1:link_name1
group2:linkspec1(t1)
匹配2:
完全匹配:link_name2
group1:link_name2
group2:linkspec2(t2)
我在下面尝试过,但是失败了。
link_re_str = r"""
\[(?P<link_text> .+?)\]
\(
(?P<link_spec>
[^\\]*? # The part before the first escaped character. Anything but a backslash.
(?: # We don't need a group for the below
\\[)(/\\] # Escaped character '\)' or '\(' or '\/' or '\\'
[^\\]*? # more stuff after the escaped character
)* # Repeat for each escaped character.
)
\)"""