Regex 用于两个标记查找和替换的正则表达式

Regex 用于两个标记查找和替换的正则表达式,regex,xml,notepad++,Regex,Xml,Notepad++,论坛各位成员:, 我正在使用最新版本的NotePad++。如果有人能帮我开发一个正则表达式,根据被替换的开始标记之前是否有开始标记,执行开始和结束标记查找和替换操作,我将不胜感激。下面是示例代码,说明我需要正则表达式做什么: 查找此文本字符串: 这是标题的文本 替换为以下文本字符串: 这是标题的文本 总之,我需要将和标记替换为并且仅当开始标记前面有开始标记时。此外,我需要和标记中的文本保持不变。正则表达式是否可以执行这样的操作 您可以使用此正则表达式根据捕获的组进行搜索: 并使用此替换: $1&

论坛各位成员:, 我正在使用最新版本的NotePad++。如果有人能帮我开发一个正则表达式,根据被替换的开始标记之前是否有开始标记,执行开始和结束标记查找和替换操作,我将不胜感激。下面是示例代码,说明我需要正则表达式做什么:

查找此文本字符串: 这是标题的文本

替换为以下文本字符串: 这是标题的文本


总之,我需要将和标记替换为并且仅当开始标记前面有开始标记时。此外,我需要和标记中的文本保持不变。正则表达式是否可以执行这样的操作

您可以使用此正则表达式根据捕获的组进行搜索:

并使用此替换:

$1<para>$3</para>
正则表达式分解:

替换它:

$1       # Back-reference of captured group #1
<para>   # Literal text <para>
$3       # Back-reference of captured group #1
</para>  # Literal text </para>

我发现下面的那个也能用。在“查找”框中保留:

                <levelledPara><title>(.*)</title>
在替换框中保存

                <levelledPara><para>\1</para>

希望这在您的情况下也能起作用。

您不需要使用正则表达式,您可以通过查找title>并用para>替换它来解决此问题。Anubhava,您是一位绅士和学者。我发现您的正则表达式的有趣之处在于它不需要将title标记作为find和replace操作的一部分。我将测试它,看看它是如何工作的。
                <levelledPara><title>(.*)</title>
                <levelledPara><para>\1</para>