使用正则表达式查找和替换文本

使用正则表达式查找和替换文本

一个文件有数百行类似于下面的文本:

<Random Variable1="test" Description="this is a random description" number="12345" />

所有文本行的开头的“<Random”值和结尾的“/>”值都是相同的。

我正在尝试使用正则表达式将末尾的 /> 符号替换为 >,并在下方插入新行文本。上面的行需要替换为以下内容的示例:

<Random Variable1="test" Description="this is a random description" number="12345" >
         <Operating>
          <Operating>All</Operating>
        </Operating>
      </Random>

我一直在用正则表达式进行测试,但没有成功,我尝试使用的正则表达式:

添加新行:

<Operating>\n<Operating>All</Operating>\n</Operating>\</Random>

要更改 /> 字符:

<Random(.*) >

编辑:我正在使用 Visual Studio 17 中的查找和替换选项

答案1

如果你的语言/工具支持 PCRE 正则表达式,你可以执行以下操作:

  • 查找:(?s)<Random\b.*?\K/><Random\b.*?\K/>用于多行
  • 代替:><Operating>\n<Operating>All</Operating>\n</Operating>\n</Random>

如果没有,请使用:

  • 寻找:(<Random\b.*?)/>
  • 代替:$1><Operating>\n<Operating>All</Operating>\n</Operating>\n</Random>

你可能必须<逃离>

  • 寻找:(\<Random\b.*?)/\>

相关内容