正则表达式是regular expression,看来英文比中文要好理解多了,就是检查表达式符不符合规定!!正则表达式有一个功能十分强大而又十分复杂的对象RegExp,在Javascript1.2 版本仿 上提供〿 下面我们看看有关正则表达式的介绍_ 正则表达式对象用来规范一个规范的表达弿也就是表达式符不符合特定的要求,比如是不是Email地址格式筿,它具有用来检查给出的字符串是否符合规则的属性和方法〿 除此之外,你用RegExp构造器建立的个别正则表达式对象的属性,就已经预先定义好了正则表达式对象的静态属性,你可以随时使用它们〿 核心对象_ 在Javascript 1.2, NES 3.0以上版本提供〿 在Javascript 1.3以后版本增加了toSource方法〿 建立方法_ 文字格式或RegExp构造器函数〿 文字建立格式使用以下格式_ /pattern/flags卿模式/标记
构造器函数方法使用方法如下_ new RegExp(pattern[, flags])即new RegExp(模式[,标记])
参数_ pattern(模式) 表示正则表达式的文本
flags(标记) 如果指定此项,flags可以是下面值之一_ g: global match(全定匹配) i: ignore case(忽略大小冿 gi: both global match and ignore case(匹配所有可能的值,也忽略大小写)
注意:文本格式中的参数不要使用引号标记,而构造器函数的参数则要使用引号标记。所以下面的表达式建立同样的正则表达式: /ab+c/i new RegExp(ab+c, i)
描述_ 当使用构造函数的时候,必须使用正常的字符串避开规则(在字符串中加入前导字符\ )是必须的〿 例如,下面的两条语句是等价的_ re = new RegExp(\\w+) re = /\w+/
下面的提供了在正则表达式中能够使用的完整对特殊字符的一个完整的列表和描述〿
衿.3:正则表达式中的特殊字符_
字符\ 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,\不作解释〿 例如_b/匹配字符'b',通过在b 前面加一个反斜杠\,也就是/\b/,则该字符变成特殊字符,表示匹配一个单词的分界线〿 或者: 对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释〿 例如_是一个特殊字符,匹配任意个字笿包括0个字笿;例如:/a*/意味匹配0个或多个a。为了匹配字面上皿,在a前面加一个反斜杠;例如:/a\*/匹配'a*'〿
字符^ 意义:表示匹配的字符必须在最前边〿 例如_^A/不匹酿quot;an A,中的'A',但匹配An A.中最前面皿A'〿
字符$ 意义:与^类似,匹配最末的字符〿 例如_t$/不匹酿quot;eater中的't',但匹配eat中的't'〿
字符* 意义:匹酿前面的字笿次或n次〿 例如:/bo*/匹配A ghost booooed中的'boooo'房quot;A bird warbled中的'b',但不匹酿quot;A goat grunted中的任何字符〿
字符+ 意义:匹酿号前面的字符1次或n次。等价于{1,}〿 例如_a+/匹配candy中的'a'咿quot;caaaaaaandy.中的所朿a'〿
字符? 意义:匹酿前面的字笿次或1次〿 例如_e?le?/匹配angel中的'el'咿quot;angle.中的'le'〿
字符. 意义_小数炿匹配除换行符外的所有单个的字符〿 例如_.n/匹配nay, an apple is on the tree中的'an'咿on',但不匹酿nay'〿
字符(x) 意义:匹酿x'并记录匹配的值〿 例如_(foo)/匹配和记彿quot;foo bar.中的'foo'。匹配子串能被结果数组中的素[1], ..., [n] 返回,或被RegExp对象的属怿1, ..., $9返回〿
字符x|y 意义:匹酿x'或耿y'〿 例如_green|red/匹配green apple中的'green'咿quot;red apple.中的'red'〿
字符{n} 意义:这里的n是一个正整数。匹配前面的n个字符〿 例如_a{2}/不匹酿quot;candy,中的'a',但匹配caandy, 中的所朿a'咿quot;caaandy.中前面的两个'a' |