python正则表达式匹配括号并删除_python中的正则表达式:删除⽅括号和括号内短语的。。。
你需要的是re.sub。请注意,⽅括号和管道都是元字符,因此需要对它们进⾏转义。re.sub(r'\[\[(?:[^\]|]*\|)?([^\]|]*)\]\]', r'\1', line)
替换字符串中的\1是指括号内匹配的内容,这些内容不以?:(即,在任何情况下,都是您想要的⽂本)开头。
有两个注意事项。这只允许在打开和关闭⽀架之间有⼀个管道。如果有多个,则需要指定是要第⼀个之后的所有内容还是最后⼀个之后的所有内容。另⼀个需要注意的是,不允许在左括号和右括号之间使⽤单个]。如果这是⼀个问题,仍然会有⼀个正则表达式解决⽅案,但它会相当复杂。
正则表达式获取括号内容对于模式的完整解释:\[\[ # match two literal [
(?: # start optional non-capturing subpattern for pre-| text
[^\]|] # this looks a bit confusing but it is a negated character class
# allowing any character except for ] and |
* # zero or more of those
\| # a literal |
)? # end of subpattern; make it optional
( # start of capturing group 1 - the text you want to keep
[^\]|]* # the same character class as above
) # end of capturing group
\]\] # match two literal ]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论