整理的正则表达式的相关东东

^ 匹配输入字符串的起始端,如果是多行匹配,即表达式的附加参数中含有m,则也在一个换行符后匹配。
$ 匹配输入字符串的尾端,如果是多行匹配,即表达式的符中参数中含有m,则也在一个换行符前匹配
* 匹配前一个字符0次或多次
+ 匹配前一个字符1次或多次。
. 匹配任何一个单独的字符,但是换行符除外。
(x) 表示将x所匹配的内容记住。
(?:x) 匹配x,但不会记住x所匹配的内容.
x(?!y) 匹配x,仅当后面不紧跟着y时。如果符合匹配,则只有x会被记住,y不会被记住。
x|y 匹配x或y。注意如果x和y都匹配上了,那么只记住x
{n} 匹配前一个字符的n次出现
{n,} 匹配前一个字符的至少n次出现
{n,m} 匹配前一个字符的至少n次最多m次的出现
[xyz] xyz表示一个字符串,该模式表示匹配[]中的一个字符,形式上[xyz]等同于[x-z]
[^xyz] 该模式表示匹配非[]中的一个字符,形式上[^xyz]等同于[^x-z]
[\b] 匹配退格键
\b 匹配一个词的边界符,例如空格和换行符等等,当然匹配换行符时,表达式应该附加参数m
\B 代表一个非单词边界。
\cX 匹配一个控制字符,例如 \cM匹配一个Ctrl+M或回车符。
\d 匹配一个数字字符,等同于[0-9]
\D 匹配一个非数字字符,等同于[^0-9]
\f 匹配一个换页符
\n 匹配一个换行符。因为是换行符,所以在表达式中要加入m参数
\s 匹配一个空格符,等同于[\f\n\r\t\v\u00A0\u2028\u2029]
\S 匹配一个非空格符,等同于[^\f\n\r\t\v\u00A0\u2028\u2029]
\t 匹配一个tab
\v 匹配一个竖向的tab
\w 匹配一个数字、_或字母字符,即[A-Za-z0-9_]
\W 匹配一个非数字、_或字母字符,即[^A-Za-z0-9_]
\n 注意不是\n,这里n是一个正整数,表示匹配第n个()中的字符
\0 匹配一个nul字符
\xhh 匹配一个两位16进制数字所表达的字符
\uhhhh 匹配一个由四位16进制数字所表达的字符
操作
RegExp.exec(str) 返回str中与表达式相匹配的第一个字符串,而且以数组的形式表现,当然如果表达式中含有捕捉用的小括号,则返回数组中也可能含有()中匹配字符串
RegExp.test(str) 判断字符串str是否匹配表达式,返回一个布尔值
String类的方法
String.match(expr) 返回与expr相匹配的一个字符串数组,如果没有加参数,则返回第一个匹配,加入参数g则返回所有的匹配
string.search(expr) 返回字符串中与expr相匹配的第一个匹配的index值。
string.replace(expr,str) 将字符串中匹配expr的部分替换为str.另外在replace方法中,
str中可以含有一种变量符号$n,代表匹配中被记住的第n的匹配字符串.如果expr是一个表达式对象则会进行全局替换(此时表达式必须附加参数g,否则也只是替换第一个匹配),如果expr是一个字符串对象,则只会替换第一个匹配的部分
string.split(expr) 将字符串以匹配expr的部分做分割,返回一个数组,而且表达式是否附加参数g都没有关系,结果都是一样的。
表达式相关属性
lastIndex 返回开始下一个匹配的位置,注意必须是全局匹配(带有参数g)时,lastIndex才会有不断返回下一个匹配值,否则该
source 返回表达式字符串自身
index 返回当前匹配的位置
input 用于匹配的字符串
[0] 返回匹配结果中的第一个匹配值,对于match而言可能返回一个多值的数字,则除了[0]外,还可以取[1],[2]等等
posted @ 2008-06-17 12:29  杲頔  阅读(279)  评论(0编辑  收藏  举报
代码路上