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

Notepad++. Need to add brackets before only first occurrence of characters in lines

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

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

但我不知道如何在国家名称后添加方括号。每个国家名称后都有一组双杠。但不幸的是,每行都有多组双杠。查看一些维基文本:

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

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

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

^.*?\K\|\|

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

确保使用 MULTILINE 模式。

RegEx Demo

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

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