在记事本中使用正则表达式删除标签之间的文本

Remove text between the tags using regular expression in notepad

我有以下 xml 标签: <EmployerName>company name</EmployerName><Email>name@gmail.com</Email>

我正在使用以下正则表达式- <EmployerName>[0-9A-Z:-]*</EmployerName> 删除标签之间的数据。但是,数据没有被删除。有什么想法吗?

如果要匹配标签内的所有内容,只需使用 .:

<EmployerName>.*</EmployerName>

您的字符组[0-9A-Z:-]包括数字、字母、冒号和连字符,但不包括空格或其他特殊字符。

然后你可以简单地替换为<EmployerName></EmployerName>

如果同一行有多个 EmployerName 元素,使用不情愿的匹配:

<EmployerName>.*?</EmployerName>

您的表达式缺少 space“公司名称”。尝试替换以下内容:

(<\/?(?:EmployerName|Email)>)[a-z \.@]+(<\/?(?:EmployerName|Email)>)

…与。反向引用在 Notepad++ 中不起作用,所以有点冗长。

<EmployerName>[^<]*</EmployerName>

正在工作DEMO