2011-12-09 9 views
0

この正規表現が一致しないん理由:.NET正規表現使用して見て背後/先読み

(?<="Title" = "8:)[^"]*(?=") 

この:Visual Studioのセットアッププロジェクトからの抜粋で

"ARPHELPTELEPHONE" = "8:" 
"ARPHELPLINK" = "8:" 
"Title" = "8:something" 
"Subject" = "8:" 
"ARPCONTACT" = "8:something" 
"Keywords" = "8:" 

その。それは私が使用しているオンラインツールで一致したが、それはRegex.Matchを(使用して一致していません)

ここでは、コードです:

var productTitleRegex = @"(?<=""Title"" = ""8:)[^""]*(?="")"; 
var titleMatch = Regex.Match(content, productTitleRegex); 

titleMatch.Success偽と値が何も

を返さない場合編集:

私はちょうど先を見て、後ろに見て使用するときに何かが不足しています。ネットの正規表現ですか?私はルックアラウンドを削除すると、これは動作しますが、それは私が望ましくない行全体と一致します。だから私は、私が望む値にちょうど一致するために、探索法を使用しました。

他にも、同じような経験がありました.net regexでルックアラウンドを使用していますか?

+0

VS2008でC#と同じテストをしました – Riju

+0

私の悪いです。間違った入力ファイルを使用していた:/ – Mel

答えて

1

VS2008でC#で正規表現パターンをテストしたところ、 "something"と値が一致していました。それは正常に動作しているように見えます。私はまた、あなたがいずれかを取得することはありませんあなたはこのケースでRegexOptions「IgnorePatternWhitespace」

var productTitleRegex = @"(?<=""Title"" = ""8:)[^""]*(?="")"; 
    var titleMatch = Regex.Match(content, productTitleRegex, RegexOptions.IgnorePatternWhitespace); 

で正規表現を使用している場合しかし、それは動作しませんhttp://www.radsoftware.com.au/regexdesigner/

enter image description here

からダウンロードした無料のツールでそれをテストしました一致

関連する問題