2011-12-24 16 views
1

私は、テキストファイルからURLsInnerTextsの両方を取得しようとしています正規表現 - すべてのhrefとinnerTextを取得しますか? C#で

、私はこれだけ正規表現を持って使用していますデバイス(テキストファイルのみ)上のDOMオブジェクトへのアクセスを持っていません使用する。

<a href="/LinkClick.aspx?fileticket=a random text string">I want this text</a> 

私は、テキストファイル全体のすべてのこれらのセットが必要になりますHTMLを解析するために

URL = /LinkClick.aspx?fileticket=a random text string 
TITLE = I want this text 
+2

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Joe

+2

RegExを使用してデータを解析しようとするのは良い考えではありません。 HTMLテキストファイルがある場合は、DOMにアクセスできます。たとえば、 "using System.Windows.WebBrowser ... HtmlDocument hdoc = HtmlPage.Document;" – paulsm4

+0

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1758162#1758162 –

答えて

0

正規表現?その理論的には可能ですが、素晴らしい、きれいなXHTMLで始めることができない限り、これで大きな成功を収めていません。問題は、合法的なHTMLは常に整形式ではなく、物は線にまたがることができ、それでもHTMLであるが、RegExには入るということです。私は、あなたのためにDOMツリーや何かにあなたのためのHTMLをparsetするいくつかのライブラリを見つけることをお勧めしますXPATHは結果のDOMを介してあなたの方法。 C#にはHtmlDocumentクラスがありますか?私はRegExに頼る前にそれを試してみた。

+0

私が言及したように、私はアクセスが制限されており、HTMLを解析できませんその他の方法で。私はLinuxでサブパワーデバイスで実行しています。 –

0

あなたはこの1のような正規表現を使用できます。

\<a.+?href=(?<q>["'])(.+?)\k<q>.*?>([^\<]+) 

URLは、あなたの文書が有効なXHTMLの場合はグループ2とTITLEの値はグループ3

の値になりますでしょう、 System.Xml名前空間のクラスを使用してドキュメントを解析し、すべて<a>要素を取得することもできます。

関連する問題