js正则表达式
1:社么是正则表达式?
2:创建正则表达式?
2.1: var reg=/pattern/;
2.2: var reg=new RegExp("pattern");
3:正则表达式的exec方法:
reg.exec(str); //str为要执行正则表达式的字符串:
index属性:
input:属性
<script type="text/javascript"> var reg = /test/; var str = 'testString'; var result = reg.exec(str); alert(result); </script>
正则表达式的test()方法:
test方法仅仅检查是否能够匹配str,并且返回布尔值以表示是否成功
4:正则
4.1:/^开头,结尾$/
^表示只匹配字符串的开头 e.g: reg=/^c/; str="strc"; execReg(reg,str); //结果为null,因为strc不是以c开头的
^表示只匹配字符串的开头 e.g: reg=/$e/; str="lihe"; execReg(reg,str); //返回结果为e,因为lihe是以e结尾的
4.2:e{n} , e{m,n} , e{n,} 贪心与非贪心
/e{1}/:只匹配一个e /e{2}/:匹配两个连续的e /e{3}/:匹配三个连续的e e.g:
reg = /c{2}/; str='cainiao'; execReg(reg,str);//返回null,没有连续的cc
/e{3,4}/ :连续的3个e或者4个e
reg = /c{3,4}/; str='eeeeTtil'; execReg(reg,str);//结果返回eeee,这表明正则会尽量多匹配,可3可4的时候它会选择多匹配一个。
reg = /c{3,4}/; str='eeeeeTtil'; execReg(reg,str);//仍然只匹配4个,eeee。
/e{1,}/:一个以上的e
reg = /c{1,}/; str='cccccTest'; execReg(reg,str);//返回ccccc,再次说明了正则表达式会尽量多地匹配。
贪心与非贪心:果我们希望正则尽量少地匹配字符,那么就可以在表示数字的符号后面加上一个?
4.3:*,+,?
*表示0次或者多次,等同于{0,},即 c* 和 c{0,} 是一个意思。
+表示一次或者多次,等同于{1,},即 c+ 和 c{1,} 是一个意思。
最后,?表示0次或者1次,等同于{0,1},即 c? 和 c{0,1} 是一个意思。
4.4:点’.’ /./ /.+/ /b|c/ /[abc]/ /[^abc]/ 数字和非数字 空白 单词
‘.’会匹配字符串中除了换行符\n之外的所有字符
.+所有的字符都被匹配掉了,包括空格,下滑线,破折号
b|c表示,匹配b或者c
[abc]表示a或者b或者c中的任意一个字符
[^abc]]表示不能是a,b或者c中的任何一个;[^0-9]表示非数字,[^a-z]表示非小写字母
\d表示数字的意思,相反,\D表示非数字。
\f匹配换页符,\n匹配换行符,\r匹配回车,\t匹配制表符,\v匹配垂直制表符。\s匹配单个空格
\w表示单词字符,等同于字符集合[a-zA-Z0-9_] \W表示非单词字符,等效于[^a-zA-Z0-9_]
5:正则表达式的修饰符
修饰符g:全局匹配
修饰符i:不区分大小写
修饰符:多行模式
6:用字符串的方法执行正则表达式
math()
replace()
seacrch():search返回正则表达式第一次匹配的位置
split()