正则表达式:将所有内容保留在 <profession></profession>标签 [英] Regex: keep everything in <profession></profession> tags

查看:22
本文介绍了正则表达式:将所有内容保留在 <profession></profession>标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个很大的 XML,如下所示:

I have a large XML, looking like this:

<gender>M</gender>
<last-name>*</last-name>
<profession>2165dda2-dc59-41af-acb5-06d8914c4841</profession>
<first-name>*</first-name>
<mail-confirmation>1</mail-confirmation>
<fax-confirmation>1</fax-confirmation>

我只想保留标签.我找到了一种在标签中搜索的方法,如下所示:

I only want to keep the tags. I found a way to search IN the tag, like this:

<profession[^>]*>([^<]*?)</profession>

但是我如何搜索它之外的所有内容?我试着翻转它,比如:

but how do I search everything outside of it? I tried to just flip it, like:

</profession[^>]*>([^<]*?)<profession>

</profession>([^<]*?)<profession[^>]*>

但这行不通.

推荐答案

严格来说,您不能使用正则表达式解析 XML.

Strictly you can't parse XML with a regex.

使用sed快速而肮脏的解决方案是用专业grep行然后替换专业"和带有"的/profession"(标记正在剥离 < > )

Quick and dirty solution with sed is to grep the lines with profession then replace "profession" and "/profession" with "" (markup is stripping the < > )

这篇关于正则表达式:将所有内容保留在 &lt;profession&gt;&lt;/profession&gt;标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆