正则表达式 - 我只是想匹配的开始标记的正则表达式正则表达式、标记、我只是

2023-09-03 15:18:19 作者:征服我,你OK么

我想提出一个正则表达式EX pression中,我只是想匹配错了标签,如:< P> *这里一些文字,一些其他的标签可能会在这里很好,但没有结尾的P标签*< / P>

I am making a regex expression in which I only want to match wrong tags like: <p> *some text here, some other tags may be here as well but no ending 'p' tag* </p>

 <P>Affectionately Inscribed </P><P>TO </P><P>HENRY BULLAR, </P><P>(of the western circuit)<P>PREFACE</P>

在上述相同的文字我想要得到的结果为&LT;&LT(西电路); P&GT P&GT; ,并没有别的应被捕获。我用这个,但它不工作:

In the above same text I want to get the result as <P>(of the western circuit)<P> and nothing else should be captured. I'm using this but its not working:

<P>[^\(</P>\)]*<P>

请帮忙。

推荐答案

正则表达式并不总是对XML / HTML类型的数据一个不错的选择。具体而言,属性,区分大小写,注释等都有很大的影响。

Regex is not always a good choice for xml/html type data. In particular, attributes, case-sensitivity, comments, etc all have a big impact.

对于XHTML,我会使用的XmlDocument / 的XDocument 和XPath查询。

For xhtml, I'd use XmlDocument/XDocument and an xpath query.

有关非X的HTML,我想看看 HTML敏捷性包一样的。

For "non-x" html, I'd look at the HTML Agility Pack and the same.