本文介绍了正则表达式:将所有内容保留在 <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 < > )
这篇关于正则表达式:将所有内容保留在 <profession></profession>标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!