正则表达式是一种用来匹配字符串的一种表达式,正则表达式可以描述一个字符串的格式。大部分编程语言都支持正则表达式。
正则可以做字符串格式的校验,也可以配合java中的字符串方法组合使用。
正则中的符号:
1. 点符号:任意单个字符
2. ^ 代表以什么开头 , $代表以什么结尾
3. 小括号:代表优先级 ;
4. 中括号[] : 代表一个字符,里面可以是一个范围,但结果是一个字符 例如:[abc] a或b或c字符 ;[a-z] a到z任 意一个字符 ; [a-zA-Z] 大小写字母任意一个 ;例如[123] ;[0-9]
5. 大括号{} :代表个数,修饰的是前面的那个字符 ,例如:{3} 3个数量 ;{2,3}2个到3个数量 ;{3,} 大于等于3 个
6. *号 :{0,} 大于等于0个
7. +号:{1,} 大于等于1个
8. ?号 : {0,1} 0个或1个
9. \d : 代表一个数字,等同于[0-9] ,在java中写\\d ;在javascript中 写 \d
10. \w : 代表字母或数字或_ ,等同于[a-zA-Z0-9]
在JavaScript中,创建正则对象有两种写法:new RegExp("正则","flag") 或 /正则/flag
<script>
var reg = /\d{2}/; //模糊匹配
console.log(reg.test("aa81aa")); //true
var reg = /^\d{2}$/; //完全匹配,带^开始符 和 $结尾符
console.log(reg.test("aa81aa")); //false
</script>
<script>
/*var reg = /^[a-z]+$/i; //i忽略大小写
console.log(reg.test("aAbC")); //true
*/
var reg = /\d/g; //g全局匹配
console.log(reg.lastIndex);
console.log(reg.test("123")); //true
console.log(reg.lastIndex);
console.log(reg.test("123")); //true
console.log(reg.lastIndex);
console.log(reg.test("123")); //true
console.log(reg.lastIndex);
console.log(reg.test("123")); //false
//正则对象中有一个lastIndex属性 ,记录了匹配成功字符在字符串中的位置
//初始值为0
//如果是全局匹配,则从lastIndex的后面开始匹配
//如果是非全局匹配,每次匹配时,lastIndex都会重置为0
</script>