使用RegEX在Prepad ++中前缀和附加


88

我在txt文件中有很多单词,并且我正在尝试在Notepad ++中查找和替换正则表达式。我需要在每行之前和每行之后添加一个字符串。

词
二字
三字

成为

能:“ wordone”
能:“ wordtwo”
能:“ wordthree”

我怎样才能做到这一点?


抱歉,这些字串是分开排列的!我敢打赌,现在已经把事情弄糊涂了……
zuk1

甜蜜的给
我省

Answers:


171

假设使用字母数字单词,则可以使用:

Search  = ^([A-Za-z0-9]+)$
Replace = able:"\1"

或者,如果您只想突出显示行并使用“全部替换”和“选择中”(具有相同的替换):

Search = ^(.+)$

^指向行的开头。
$指向行尾。

\1 将是括号内的源匹配项。


谢谢您,经过大约30分钟的搜索,我成功到达了这里:)
dhaval 2011年

Reg表达式是救生员。谢谢您的帮助。
Techgration 2011年

出色的工作+1用于解释
SSH

!这正是我所需要的。
Chuck Le Butt 2012年

在最新的N ++中,^([A-Za-z0-9]+)$没有返回任何匹配项,但是^(.+)$在每种情况下都有效。谢谢!
Laurie Stearn '18

29

为什么不使用Notepad ++多行编辑功能?

选择文本时按住Alt键(使用通常的单击和拖动方法)以跨多行选择文本。有时也称为列编辑。

您可以将光标放在文件的开头,按住(并按住)Alt,Shift,然后继续按住向下箭头或PageDown来选择要添加一些文本的行:-)简单。多行编辑是Notepad ++的一项非常有用的功能。在Visual Studio中,也可以以相同的方式进行操作,在Eclipse中也可以通过按Alt + Shift + A切换到“块选择模式”,然后使用鼠标跨行选择文本来实现。


1
+1这真的很棒,我不知道你能做到这一点。当每行的长度不同时,是否可以在每行的末尾添加一些内容?例如,当“列”宽度变化时,如果您可以将文本追加到每一行,那就太好了。我有一个函数列表,需要附加“();” 到每行,但每个函数名称的宽度都不同。我目前正在使用宏来执行此操作,谢谢!
SSH

5
最好只通过“扩展”搜索模式使用简单的查找/替换。您可以搜索行尾,例如\r\n,将其替换为<whatever you want to append>\r\n
PeterPerháč2012年

这实际上是一个非常好的解决方案,尤其是上面的APPEND注释。
Chuck Le Butt 2012年

2
这对于加前缀很有用,但是如果要后缀混合长度的行(在末尾追加),则没有用。我希望Notepad ++像Notepad2一样具有内置的“修改行”命令,该命令允许您选择行,按Alt + M并在每行之前和/或之后添加文本。
thdoan

21

可以使用的正则表达式:

Find: \w.+
Replace: able:"$&"

为,$&将为您提供搜索的字符串。

参考:regexr


6
大提$&!该\1不会在所有环境下工作。
pfabri '17

关于的好答案$&。它也可以在SublimeText中工作。
WesternGun

关于的好答案$&。它也可以在VS代码中使用。
P.法兰克

5

使用宏。

宏>开始录制

使用键盘以可重复的方式进行更改,例如

主页>输入“ able”>结束>向下箭头>主页

然后返回菜单并单击停止录制,然后多次运行宏。

那应该做到这一点,并且没有基于正则表达式的并发症!


4
“并发症”应该是什么意思?:-)
Tomalak

+1易于使用!我需要在文件中每一行的末尾附加一个“制表符”,而本技巧就可以了。
NateJ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.