Python正则表达式转义匹配

由于学校的某个学生社团管理机构总是 DT 地不断更改并发布社团的分类和编号的版本,致使 wiki 站上的资料无法保证其内容的最新状态。今天,实在看不下去了,决定更新这80个社团的资料。

前几天已经利用空闲做好了新版社团分类的 wiki 表格文本(那个机构在其网站上连文字都懒得发布,直接发布的文档截图,害的我敲了100多行 wiki markup),今天提交到 MediaWiki 中。然后,还需要更新社团条目的导航模板,就必须将 wiki markup 中的社团名称外带其“[[ ]]”标记一起取出。手动取出的话需要选择-复制-粘贴80多次,并且还要做很多后续处理工作。于是决定写 python 用正则来处理。

使用 re.compile 和 findall 已经匹配出了类似于这样的内容:

|A1001||[[北京科技大学电子竞技协会|电子竞技协会]]||

想在进行二次findall出“[[北京科技大学电子竞技协会|电子竞技协会]]”时,发现对“[”转义出现了问题。于是,上网查资料,发现了一篇文章 http://bbs.scmroad.com/viewthread.php?tid=21963

明白了用法之后,使用“[[^]]+]]”进行匹配,成功findall “[[北京科技大学电子竞技协会|电子竞技协会]]”。然后 join 成字符串,print后提交至编辑页面之中。