基于正则表达式的匹配和纳米?

Dan*_*age 19 regex replace nano

我知道nano搜索和替换功能,但它是否能够使用正则表达式进行匹配和替换(特别是使用匹配的一部分的替换)?如果是这样,你能提供一些所用语法的例子(匹配和替换)吗?

我对Perl风格的正则表达式进行了研究,但我发现文本编辑器有时会提出自己的语法.

use*_*841 21

我的nano版本可以选择使用meta字符+ 来进行正则表达式搜索R.在Windows上的cygwin中,元键是alt,所以我按ctrl+ \进入搜索和替换模式,然后alt+ r到swtich进行正则表达式搜索.

  • alt + r为+1.这是真正答案的一半.@SPArifSahariWibowo有更大的一半. (2认同)

Bar*_*ers 14

您需要在全局nanorc文件中添加或取消注释以下条目(在我的机器上,它是/etc/nanorc):

set regexp
Run Code Online (Sandbox Code Playgroud)

然后启动一个新的终端并按CTRL+ /并进行替换,现在应该是正则表达式.

编辑


搜索conf->(\S+):

在此输入图像描述


用...来代替 \1_conf

在此输入图像描述


a可替换所有出现次数:

在此输入图像描述


最终结果:

在此输入图像描述

  • 非常感谢!您也可以在搜索时按Meta + R(Alt + R)来打开/关闭正则表达式搜索,而不是编辑配置文件. (3认同)

S P*_*owo 13

用于纳米使用正则表达式格式/符号" 扩展正则表达式 ",即POSIX扩展正则表达式,其用于通过egrepsed -r,这包括元字符.,[并且],^,$,(,),\1\9,*,{},?,+,|,和字符类等[:alnum:],[:alpha:],[:cntrl:],[:digit:],[:graph:],[:lower:],[:print:],[:punct:],[:space:],[:upper:],和[:xdigit:].

有关更完整的文档,您可以man 7 regex在Linux或man 7 re_formatOS X中查看手册页.此页面也可能提供相同的信息:http://en.wikipedia.org/wiki/Regular_expression#POSIX_Basic_Regular_Expressions

不幸的是,纳米似乎没有办法匹配跨越多行的任何东西.

  • 多线索的+1.并且`$ 1`在第二个字符串中不起作用,但`\ 1`会起作用!(对于括号子表达式.)`\n`和`[:newline:]`似乎都不适用于第二个字符串. (4认同)