2010-11-29 11 views
1

VB RegExのヘルプが必要です。2 VB RegExの問題

2つの具体的なことを行うために必要な2つのRegExがあります。

RegEx one - 私はこれを行う方法は正確にはわかりませんが、Hrefタグ内のすべてを取得する必要があります。すなわち、私は正規表現が.... test.htmlという

正規表現二つを返す必要が

String = "<a href=""test.html"">" 

- 私は、部分的にこの作業を持っています。私は私が持っている問題は何かを返すこのありえないです

RegEx = "<div class=""top""(.*?)</div>" 
String = "<div class=""top""><a><b><div class=""bottom""></div></b></a></div>" 

ようなタグを持っている

、それは「トップ」をwithingすべてを返す必要がありますが、それは何も返しません。

+1

この回答を見る(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) – JohnFx

+0

@JohnFx Enter tchrist ....ああ、あなたは1分ほどで私が何を意味するかを見るでしょう。 – Keng

答えて

3

正規表現ではユースケースをうまく解決できません。

代わりに、HTMLパーサーを使用します。 HTML Agility Pack

+0

こんにちは - 私はいくつかのIDの私は制御を持っていないランダムな値を持っているとして動作しません。 – Test

+1

@Test:どのIDですか?いずれにせよ、それは無関係です。 HTMLパーサ*が機能します。 –

0

HTMLにネストされたタグが含まれていない場合は、正規表現で最初の部分を行うことができます(検索ソースコードを制御できる限り、結果はより確実になります)。

\<a href=""([^""]+)\> 

test.htmlというが$1と呼ば非受動群に見出されるであろう。

2番目の部分は、そこにネストされたタグがあり、それが失敗していることです。正規表現とhtmlを使用することは、正規表現が、期待通りに実行できるが、整形式ではない入れ子になっている許容可能ではないがベストプラクティスのコードにうまく掘り下げることができないことです。

私たちが見ることができるように、2番目のケースの検索ソースを投稿できますか?