记事本+ +。需要在行中第一次出现字符之前添加括号

时间:2015-11-30 18:33:08

标签: regex notepad++ wikitext

请参阅维基百科文章" List of countries by total health expenditure per capita"。 长表中列出的国家都应该是链接。这意味着在wiki文本中,国家/地区名称需要围绕它们的双括号。例如; [[澳大利亚]] - 这是创建国家/地区列表时的常见问题。

我将wikitext粘贴到Notepad ++中。我知道如何在国家/地区名称前添加括号。有一些独特的字符和换行符允许我使用基本的查找和替换(不需要正则表达式)。

但我无法弄清楚如何在国名后添加括号。每个国家/地区名称后面都有一组双栏。但不幸的是,每一行都有多组双杠。看一些wikitext:

|-
|Australia||3866||..||..
|-
|Austria||4528||4553||..
|-
|Belgium||4225||4256||..

所以我需要一种方法只在每一行中找到第一组双条,然后在它们前面添加括号。

2 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式在每行中获得第一个||

^.*?\K\|\|

\K重置报告的匹配的起点。任何先前消费的字符不再包含在最终匹配中

请务必使用MULTILINE模式。

RegEx Demo

答案 1 :(得分:0)

我分享了anubhava的正则表达式演示并创建了this regex,而不是:

^.*?\|\h*\K(.*?)(?=\h*\|)替换为[[$1]]

enter image description here