如何使用正则表达式C#在asp.net中获取href值?

时间:2016-04-02 16:22:08

标签: c# asp.net regex

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 &rarr;</a><a href="?swift=&country=india&bank=&page=193">Last &raquo;</a></li></div></ul></nav>

&#34;我需要的是&#34; 193&#34;来自

<a href="?swift=&country=india&bank=&page=193">Last &raquo;</a>

感谢adavnce

1 个答案:

答案 0 :(得分:1)

Querystring可以以两种不同的方式拥有页面

  1. 迅速=安培;国家=印度&安培;银行=安培;页= 193
  2. 页= 193&安培;国家=印度&安培;银行=安培;迅速=
  3. 这样,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,一个局部整数变量。

相关问题