正则表达式语法规则及在Javascript和C#中的使用方法
本文导语: 一、正则表达式概念:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多...
一、正则表达式概念:
在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。
二、正则表达式的使用:
正则表达式在ASP.NET中主要是用来对输入的内容进行验证,验证一般分为两种一种是客户端JS验证,另一种是服务器端验证
1、JS对输入内容验证
function check() {
var match = /^d$/;
var val = $("#txt").val();
if (match.test(val)) {
alert("测试通过");
}
else {
alert("测试不通过");
}
}
2、C#进行验证格式
protected void Button1_Click(object sender, EventArgs e)
{
string pattern = @"d";
if (System.Text.RegularExpressions.Regex.IsMatch(this.TextBox1.Text, pattern))
{
ClientScript.RegisterClientScriptBlock(GetType(), "", "alert('验证成功!')", true);
}
else
{
ClientScript.RegisterClientScriptBlock(GetType(), "", "alert('验证不成功!')", true);
}
}
三、正则表达式规则
:将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符;例如,'n' 匹配字符 "n"。'n' 匹配一个换行符。序列 '\' 匹配 "" 而"(" 则匹配 "("。
^:匹配输入字符串的开始位置。
$:匹配输入字符串的结束位置。
*:匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。
+:匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配"z"。+ 等价于 {1,}。
?:匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
{n}:n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
{n,}:n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
{n,m}:m 和 n 均为非负整数,其中n