读书人

c#正则匹配有关问题

发布时间: 2014-01-17 00:06:00 作者: rapoo

c#正则匹配问题
我用正则匹配下面内容


<select name="contact_city" class="tableselecttextGTM1" onChange="displayCityOther('CHN', 'province-17', this.value)">
<option value=''>请输入城市。</option>
<option value="city-46-17">武汉市</option><option value="city-47-17">宜昌市</option><option value="city-48-17">沙市</option><option value="city-202-17">黄石市</option><option value="city-203-17">十堰市</option><option value="city-204-17">襄樊市</option><option value="city-205-17">鄂州市</option><option value="city-206-17">荆门市</option><option value="city-207-17">孝感市</option><option value="city-208-17">荆州市</option><option value="city-209-17">黄冈市</option><option value="city-210-17">咸宁市</option><option value="city-211-17">随州市</option><option value="city-212-17">恩施土家族苗族自治州</option><option value="other">其它</option></select>

我的代码是

Regex p2 = new Regex(@"<option value=""(?<no2>.*)"">(?<city>.*)</option>");
MatchCollection pc2 = p2.Matches(cityhtml);

foreach (Match item2 in pc2)
{
string city = item2.Groups["city"].Value;
string cno = item2.Groups["no2"].Value;
}

为什么我匹配出来只有一条
city="其他"
cno="city-46-17\">武汉市</option><option value=\"city-47-17\">宜昌市</option><option value=\"city-48-17\">沙市</option><option value=\"city-202-17\">黄石市</option><option value=\"city-203-17\">十堰市</option><option value=\"city-204-17\">襄樊市</option><option value=\"city-205-17\">鄂州市</option><option value=\"city-206-17\">荆门市</option><option value=\"city-207-17\">孝感市</option><option value=\"city-208-17\">荆州市</option><option value=\"city-209-17\">黄冈市</option><option value=\"city-210-17\">咸宁市</option><option value=\"city-211-17\">随州市</option><option value=\"city-212-17\">恩施土家族苗族自治州</option><option value=\"other""
[解决办法]
.*
->
[^\"]*?
[解决办法]
(?<="")city[^""<>]+(?=</option>)

读书人网 >C#

热点推荐