Regex 在正则表达式中,选择以“编辑”开头的行,并忽略要插入的剩余字符;行尾
下面是文本文件的一部分(整个文件有3600行),我想在每行末尾添加一个引号,以“编辑”开头,忽略后面的内容,直到该行的最后一个字符插入结尾。我正在使用notepad++中的regex并查找和替换Regex 在正则表达式中,选择以“编辑”开头的行,并忽略要插入的剩余字符;行尾,regex,notepad++,Regex,Notepad++,下面是文本文件的一部分(整个文件有3600行),我想在每行末尾添加一个引号,以“编辑”开头,忽略后面的内容,直到该行的最后一个字符插入结尾。我正在使用notepad++中的regex并查找和替换 set subnet 3.0.21.30/32 next edit "3.0.34.106/32 set subnet 3.0.34.106/32 next edit "3.1.217.15/32 set subnet 3.1.217.15/32 next edit "3
set subnet 3.0.21.30/32
next
edit "3.0.34.106/32
set subnet 3.0.34.106/32
next
edit "3.1.217.15/32
set subnet 3.1.217.15/32
next
edit "3.80.211.237/32
set subnet 3.80.211.237/32
next
edit "3.81.91.109/32
set subnet 3.81.91.109/32
这样的东西对你有帮助吗? 模式:
(^edit.*)
\1"
set subnet 3.0.21.30/32
next
edit "3.0.34.106/32
set subnet 3.0.34.106/32
next
edit "3.1.217.15/32
set subnet 3.1.217.15/32
next
edit "3.80.211.237/32
set subnet 3.80.211.237/32
next
edit "3.81.91.109/32
set subnet 3.81.91.109/32
更换:
(^edit.*)
\1"
set subnet 3.0.21.30/32
next
edit "3.0.34.106/32
set subnet 3.0.34.106/32
next
edit "3.1.217.15/32
set subnet 3.1.217.15/32
next
edit "3.80.211.237/32
set subnet 3.80.211.237/32
next
edit "3.81.91.109/32
set subnet 3.81.91.109/32
这将在结尾添加一个引语。我不知道notepad++的局限性,但从我的阅读来看,它似乎适合您。
测试字符串:
(^edit.*)
\1"
set subnet 3.0.21.30/32
next
edit "3.0.34.106/32
set subnet 3.0.34.106/32
next
edit "3.1.217.15/32
set subnet 3.1.217.15/32
next
edit "3.80.211.237/32
set subnet 3.80.211.237/32
next
edit "3.81.91.109/32
set subnet 3.81.91.109/32
这是我在R中实现一个解决方案的方法。它可能不是最优雅的,但是它完成了任务。也许你可以考虑用R代替记事本,但是它应该有一些类似的功能。我使用了
string <- "set subnet 3.0.21.30/32
next
edit '3.0.34.106/32
set subnet 3.0.34.106/32
next
edit '3.1.217.15/32
set subnet 3.1.217.15/32
next
edit '3.80.211.237/32
set subnet 3.80.211.237/32
next
edit '3.81.91.109/32
set subnet 3.81.91.109/32"
现在,所有“编辑”行的末尾都有一个右引号
我的解决方案中可能有一部分可以改进,那就是使用{010000}来代替“编辑”一词后面的无限多个字符。Lookbehinds不允许使用无限大的字符串,例如
*
,这是我最初试图用它来代替{010000}
。这似乎与您的数据无关,但也许经验更丰富的regexer可以提供这一点的解决方案。请用您无法解决的问题更新问题-添加您尝试过的示例、您阅读过的资源以及不起作用的内容。通常遵循以下准则: