在C#,VS 2010中使用正則表達式。下面是代碼。當我期待時只獲得一個匹配3
static string capturePattern = @"\|([!-|]{2})([!-|]{2})([!-|]{2})?([!-|]{2})?([!-|]{2})?([!-|]{2})?([!-|]{2})?\|";
Regex rgx = new Regex(capturePattern);
string TS="!3829.87N/12033.82Wv169/000|!('d%*|"
MatchCollection matches = rgx.Matches(TS);
matches.Count結束向上爲1和火柴[0]爲 「|!('d%* |」。
我期待matches.Count爲3,並解析字符串是:
matches[0] = "!("
matches[1] = "'d"
matches[2] = "%*"
我做了什麼錯
查
Coincoin,我只是編碼這個,唯一的問題是匹配[0] .Groups.Count回來了8,而不是4.額外的四個字符串是空的而且不需要。不應該'?'在表達式中讓這些匹配是可選的? –