2016-04-18 9 views
0

は、これを変更する方法これは"または'任意の続くことでhref=続い含まれていることの任意の文字列にマッチします正規表現単一引用符または二重引用符-C#

href=(["'])(.*?)\1 

:引用符「)??

+0

チェック[この質問](http://stackoverflow.com/questions/30659022/regex-for-extract- url-from-string-fail-when-string-contains-multiple-double-quo)。質問の正規表現はあなたのために働くはずです。 –

+0

あなたは特にhref = 'foobar'だけを選択しますか? –

+0

HTMLからのhrefリンクを解析する場合は、[snippet here](http://stackoverflow.com/questions/30629793/c-sharp-regular-expression-for-finding-links-in-a- HtmlAgilityPackでどのようにできるかを示しています。 –

答えて

1

あなたは、このようなパターンを使用することができますグループ1で前に照合された文字と同じ文字が続く文字数(貪欲ではない)。\1backreferenceです。このように(通常の文字列を使用)のいずれか

はまた、これはまた、あなたの属性の内容ではなく1

グループよりもグループ2に捕獲される意味することに注意してください、このstring literalを脱出するための正しい方法は次のようになります:

Regex.Match(value, "href=([\"'])(.*?)\\1", RegexOptions.Singleline); 

またはこのような(逐語的に文字列を使用して):

Regex.Match(value, @"href=([""'])(.*?)\1", RegexOptions.Singleline); 
+0

これはうまくいきました、ありがとう! :D –

+0

@SamHoole:投稿の左側にある緑色のチェックマークを押して、これを受け入れられた回答としてください。 –

関連する問題