首页 > 解决方案 > 正则表达式记事本++和组

问题描述

我的文件中有以下数据:

234xt_
yad42_
23ft3_
45gdw_
...

其中的_意思是一个空间。使用记事本++,我想将其重写为:

'234xt',
'yad42',
'23ft3',
'45gdw'

我在“查找内容”中使用以下正则表达式(^\w+)\s*\n

在“替换为”字段中$0

但它没有按预期工作。

标签: regexnotepad++

解决方案


您可以使用

^(\w+) $

或者

^(\w+)\h$

并替换为'$1',.

^将匹配一行的开头,(\w+)将一个或多个字母、数字或下划线放入第 1 组(您可以在替换模式中通过$1\1反向引用访问),然后是一个空格或\h将匹配一个空格或任何水平空格,并且然后$将断言行尾的位置。

如果(空白)空格可能丢失,请在空格或\h:之后添加适当的量词,\h*将匹配 0 个或更多空格并\h?匹配 1 或 0。

设置和演示:

在此处输入图像描述


推荐阅读