正则表达式可删除以特定字符串开头的行中的空格

问题描述

我正在使用记事本++,并且试图从脚本中编辑有空格的对象。具体行将从“ edit”开始。

edit test-object-1
set subnet 1.1.1.1 0.0.0.0
next
edit test-object-2
set subnet 1.1.1.1 0.0.0.0
next
edit test object 3
set subnet 1.1.1.1 0.0.0.0
next
edit test-object-4
set subnet 1.1.1.1 0.0.0.0
next
edit test-object-5
set subnet 1.1.1.1 0.0.0.0

我想做的是将“测试对象3”中的空格替换为“测试对象3”

到目前为止,看来我会以类似'''“ ^ edit \ s”'''开头,但是我一直无法仅搜索单词之间包含\ s的单词。在记事本中查找和替换的任何帮助将不胜感激,我敢肯定这也很简单:(

解决方法

您可以使用

 (?:\G(?!^)|^edit\h)\S*\K\h+

说明

  • (?:非捕获组
    • \G(?!^)在上一场比赛的末尾断言位置,而不是在字符串的开头
    • |
    • ^edit\h在字符串的开头进行匹配编辑,后跟一个水平的空白字符(根据评论)
  • )关闭群组
  • \S*匹配0+个非空格字符
  • \K\h+清除匹配缓冲区(直到现在忘记匹配的内容)并匹配1个以上水平空白字符

Regex demo

在替换中使用-

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...