一个文件有数百行类似于下面的文本:
<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.*?)/\>