有没有办法简单的正则表达式? [英] Is there a way to simply a regular expression?
本文介绍了有没有办法简单的正则表达式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有如下XML:
< break name = article_1-1 >
< h1 >
< span class =code-keyword>< page num = 1 / > 某些标题< / h1 >
< 跨度> <跨度class =code-leadattribute> bl >
人名撰稿人< / bl >
< h3 >
意见
< / h3 >
< p > 第一段< / p >
< p > 第二段< / p >
< p > 第三段< / p >
< bq >
某些值
< / bq >
< p >
第四段用斜体值
< span class =code-keyword>< / p >
< fig >
< img src = images / img_1-1.jpg width = 1553 height = 1050 alt = / >
< fc >
图片标题
< / fc >
< cr > 某些人的摄影< / cr >
< / fig >
< ; h3 >
CITY,STATE
< / h3 >
< / break >
我希望如下:
< break name = article_1-1 >
< h1 > < page num = 1 / > 某些标题< / h1 >
< bl > 人名撰稿er < / bl >
< h3 > OPINION < / h3 >
< p > 第一段< / p >
< p > 第二段< / p >
< p > 第三段< / p >
< bq > 某些值 < / bq >
< p > 第四段用斜体值 < / p >
< fig > < img src = images / img_1-1.jpg width = 1553 height = 1050 < span class =code-attribute> alt = / > < fc > 图片标题 < / fc > < cr > ; 跨度>一些人的摄影< / cr > < / fig >
< h3 > CITY,STATE < / h3 >
< / break >
我将在稍后阶段删除缩进但我主要关注的是在同一行中打开和关闭XML标签。
我想要一个正则表达式。我尝试了一些东西,但我认为有更好的方法。
请帮忙。
问候
我尝试过的事情:
string pattern = @ (?:(?: (小于\w>)|(小于\w>)|(小于\w ..> |(小于p为H.)|(\ />)))(\ S +)|((小于\ /((标题)|(头)|(中断)|(主体))\w + GT;?!)(\s +)(小于\ /(? (标题)|(头)|(中断)|(主体))\w + GT))|((小于\ / FC>)(\s +)(小于CR>)))< /跨度>;
string substitution2 = @ $ 1 $ 2 $ 3 $ 8 $ 14 $ 20 $ 22;
解决方案
1
2
3
I have an XML as follows:
<break name="article_1-1">
<h1>
<page num="1" />Some heading</h1>
<bl>
Human name Contributing Writer</bl>
<h3>
OPINION
</h3>
<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Third Paragraph</p>
<bq>
Some value
</bq>
<p>
Fourth Paragraph with italic values
</p>
<fig>
<img src="images/img_1-1.jpg" width="1553" height="1050" alt="" />
<fc>
Image caption
</fc>
<cr>PHOTOGRAPHS BY SOME HUMAN</cr>
</fig>
<h3>
CITY, STATE
</h3>
</break>
I want to make it like:
<break name="article_1-1">
<h1><page num="1" />Some heading</h1>
<bl>Human name Contributing Writer</bl>
<h3>OPINION</h3>
<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Third Paragraph</p>
<bq>Some value</bq>
<p>Fourth Paragraph with italic values</p>
<fig><img src="images/img_1-1.jpg" width="1553" height="1050" alt="" /><fc>Image caption</fc><cr>PHOTOGRAPHS BY SOME HUMAN</cr></fig>
<h3>CITY, STATE</h3>
</break>
I am removing the indentation at a later stage but my main focus is on bringing the opening and closing XML tags in the same line.
I want a regex for this. I have tried something but I think there is a better way.
Please help.
Regards
What I have tried:
string pattern = @"(?:(?:(<\w.>)|(<\w>)|(<\w..>|(<p>)|(\/>)))(\s+)|((<\/(?!(title)|(head)|(break)|(body))\w+>)(\s+)(<\/(?!(title)|(head)|(break)|(body))\w+>))|((<\/fc>)(\s+)(<cr>)))";
string substitution2 = @"$1$2$3$8$14$20$22";
解决方案
1
2
3
这篇关于有没有办法简单的正则表达式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文