我嘗試使用下面的正則表達式時遇到問題:正則表達式愁楚C#
string profileConfig = File.ReadAllText(str);
string startIndex = "user_pref(\"network.proxy.autoconfig_url\", \"";
string endIndex = "\"";
var regex = startIndex + "(.*)" + endIndex;
// Here we call Regex.Match.
Match match = Regex.Match(profileConfig,
regex,
RegexOptions.IgnoreCase);
// Here we check the Match instance.
if (match.Success)
{
// Finally, we get the Group value and display it.
string key = match.Groups[1].Value;
MessageBox.Show(key);
}
我得到的錯誤:
Additional information: parsing "user_pref("network.proxy.autoconfig_url", "(.*)"" - Not enough)'s.
是我的正則表達式在某些方面存在格式錯誤?
(在正則表達式一個sepcial字符,你應該看看逃脫它在你的startIndex字符串中。 – ryadavilli
你應該用'。'代替'。'。 '。'字符會捕獲任何字符,我想你只想捕獲'。' –
因爲re gular表達式有一個非常敏感的結構,我認爲這是一個很好的練習可讀性和維護性 - 明智地使用[逐字串字符串](http://msdn.microsoft.com/en-us/library/aa691090(v = vs.71).aspx),以避免字符串轉義和正則表達式轉義之間的混淆。 – DoomMuffins