c#中的Uisng正则表达式我想从上一个锚标记中提取页面值?这是代码:
<nav class="pagination shop">
<ul><div id="results_bottom"><li style="display: inline-block;"><a class="btn current" href="?swift=&country=india&bank=&page=1">1</a> <a class="btn" href="?swift=&country=india&bank=&page=2">2</a> <a class="btn" href="?swift=&country=india&bank=&page=3">3</a> <a class="btn" href="?swift=&country=india&bank=&page=4">4</a> <a class="btn" href="?swift=&country=india&bank=&page=5">5</a> <a class="btn" href="?swift=&country=india&bank=&page=6">6</a> <a class="btn" href="?swift=&country=india&bank=&page=7">7</a> <a class="btn" href="?swift=&country=india&bank=&page=8">8</a> <a class="btn" href="?swift=&country=india&bank=&page=9">9</a> <a href="?swift=&country=india&bank=&page=2">Next →</a><a href="?swift=&country=india&bank=&page=193">Last »</a></li></div></ul></nav>
&#34;我需要的是&#34; 193&#34;来自
<a href="?swift=&country=india&bank=&page=193">Last »</a>
感谢adavnce
答案 0 :(得分:1)
Querystring可以以两种不同的方式拥有页面
这样,page = 193可以有吗?或者&amp;在一开始的时候。正则表达式适用于两种情况。
int pageNo = 0;
var matches = Regex.Matches("?swift=&country=india&bank=&page=193", @"&page=[0-9]*|\?page=[0-9]*");
if (matches.Count > 0)
{
foreach (var match in matches)
{
int.TryParse(match.ToString().Substring("?page=".Length), out pageNo);
}
}
你必须提取?page = 193或?page = 193,无论哪个匹配,然后提取int部分并将其解析为pageNo,一个局部整数变量。