正则表达式(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);
}
}
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);
}
}