javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料。
元字符
^ $ . * + ? = ! : | \ / ( ) [ ] { }
在使用这些符号时需要用“\”来进行转移。
如果记不清楚那些标点符号需要转移,可以在使用标点符号时都使用反斜杠“\”
简单匹配
1、直接量 /javascript/ 匹配带有“javascript”的字符串 比如“javascript is an object-oriented scripting language”
2、[ ] /[abc]/ 匹配字符“a”或“b”或“c”
3、[^] /[^abc]/ 匹配除了a、b、c之外的任意字符
4、. /./ 任意字符
5、\w /\w/ 任意ASCII单字符,等价于[a-zA-Z0-9]
6、\s /\s/ 空白符
7、\d /\d/ 数字,等价于[0-9]
重复
1、{n,m} /[a]{3,5}/ 重复次数至少n次最多m次,比如“aaa”或“aaaa”或“aaaaa”
2、{n,} /[a]{3,}/ 重复次数至少n次,比如“aaa”或“aaaaa”或“aaaaaa”……
3、{n} /[a]/{3} 刚好匹配n次,比如只能匹配“aaa”
4、? /[a]?/ 0次或1次
5、+ /[a]+/ 1次或多次
6、* /[a]*/ 0次或多次
选择、分组
1、| /a|b/ 选择,匹配“a”或“b”
2、() /(abc)+/ 分组,匹配“abc”或“abcabc”……
位置
1、^ /^a/ 以“a”开始,比如“ab”或“abc”……
2、$ /b$/ 以“b”结束,比如“ab”或“cb”……
标志
1、i /a/i 不区分大小写,比如“a”或“A”
2、g /b/g 全局匹配、找到所有的匹配
方法
1、 var ret = “javascript”.search(/script/i) 返回第一次匹配子串开始字符的位置,没有匹配返回-1
2、 var ret = “javascript”.replace(/java/gi,””) 讲匹配的子串替换成函数的第二个参数;
3、 var ret = “javascript”.match(/(java)(script)/gi) 返回一个数组
ret[0] 完整的匹配“javascript”
ret[1] 第一个括号匹配的子串“java”
ret[2] 第二个括号匹配的子串“script”
……
4、 var ret = “javascript”.split(/a/) 用参数匹配的子串作为分隔符分解字符串 返回数组