正则表达式(Backreferences)在Url重写中的应用

      首先我们要明白正则表达式子的元字符的基本意义。"^ {} () |  . ? + * $ "它们在什么时候用.

      "^  $" 分别表示一行文字的开始和结束.

      数量范围:"{}",表示{最小,最大}

      (),表示特定表达式的子集

      ? 表示可选

     + 表示1次或多次   *表示任意次包括0次

      .表示任意字符

 

      下面就是利用正则的 Backreferences 的功能,替换子集。只能给代码了,这个太抽象了,我无法用文字表达了。

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace RegularDemo
{
    
class Program
    {
        
//C# Regular Backreferences Test
        static void Main(string[] args)
        {
            
string pattern = @"(\\)(\d{3})(\\)(default.aspx)";
            
string inputstr = @"\123\default.aspx";
            Regex reg 
= new Regex(pattern);
            
string strrep = @"default.aspx?name=$2";
            
string str = Regex.Replace(inputstr,pattern,strrep);
            Console.WriteLine(str);
        }
    }

 

posted @ 2008-08-14 19:35  debugzhu  阅读(799)  评论(2编辑  收藏  举报