notepad ++正则表达式组

时间:2018-07-04 08:11:16

标签: regex notepad++

我在记事本++中有以下几行

'23123 123123
'23123 123123
'23123 123123
'23123 123123
'23123 123123

我想替换为

'23123' 123123
'23123' 123123
'23123' 123123
'23123' 123123

我正在执行以下操作

查找内容(\d)\s
 替换为$0'

但是它不起作用

4 个答案:

答案 0 :(得分:0)

您的正则表达式不起作用,因为(\d)\s匹配并捕获了一个数字,然后匹配了包括换行符在内的任何垂直或水平空白。替换为整个比赛和一个'字符。因此,您可以将'附加到任何会影响第二列末尾数字块的数字+空格序列。

要在行首添加'到数字块中,您可以使用

^'\d+

并替换为$0'

详细信息

  • ^-行锚的开始
  • '-单引号
  • \d+-1个或多个数字。

替换是整个匹配值($0)和一个'(基本上,我们在每个匹配项后附加')。

enter image description here

另一种方法是在数字和水平空格之间插入'

(\d)(\h)

,并替换为$1'$2。它将'附加到一行上的所有非最终数字块:

enter image description here

详细信息

  • (\d)-捕获组1(后来用$1占位符引用):一个数字
  • (\h)-捕获组2(后来引用为$2占位符):水平空白。

答案 1 :(得分:0)

如果将正则表达式全部转为\s(\d)并替换为'$0,则您的正则表达式将起作用

请注意,在这种情况下,您不需要捕获组,\s\d也可以使用。

如果必须有一个或多个数字,则示例数据的另一种方法是匹配一个或多个水平空白\h+,然后是一个或多个数字\d+,并用{代替{1}}和整个比赛'

查找内容

\h+\d+

替换为

$0

答案 2 :(得分:0)

在这种情况下,作为正则表达式的替代方法,Notepad ++允许选择列。单击第一行中的列,然后按 ALT-SHIFT-DOWN ARROW 直到到达底部行。光标将延伸:

Image of extended cursor

然后键入',它将在所有行中键入。

答案 3 :(得分:0)

试试我的解决方案如下

搜索:'\d+

替换:$0'

enter image description here