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

时间:2016-03-25 21:04:20

标签: regex xml notepad++

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

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

3 个答案:

答案 0 :(得分:2)

如果您想匹配代码中的所有内容,只需使用.

即可
<EmployerName>.*</EmployerName>

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

然后您只需使用<EmployerName></EmployerName>替换。

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

<EmployerName>.*?</EmployerName>

答案 1 :(得分:0)

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

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

...与$1$2。反向引用在Notepad ++中不起作用,所以它有点冗长。

答案 2 :(得分:0)

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

工作DEMO