正则表达式
正则表达式
正则表达式:又称之为规则表达式(Regular expression),在代码中常简写为regex。
理解:
1.正则表达式是一个字符串,他表示一种规则
2.正则表达式有它自己特定的语法
3.它主要有2个功能:验证、匹配
创建正则表达式
1.使用new关键字
2.字面量
正则表达式的使用
正则表达式是一个对象,这个对象常见的三个方法:exec(),test() ,其中test用来验证,exec()用来匹配
Test用法: 正则表达式.test(字符串); 如果验证成功返回true,否则返回false
正则表达式的组成
原子:必选,不能少。最基本的组成单元
元字符:可选,用来修饰原子
模式修正符:可选的,共有3个 i,g,m
模式修正符:
模式修正符是写在正则表达式最后的/的后面
I:表示忽略大小写
G:表示全局匹配
M:表示多行匹配
原子:
最基本的组成单位,不能少。
按照原子的表现能力,可以分为2类:
1.只能表示一个字符的原子
比如:大小写字母,数字,下划线
2.可以表示一类字符的原子
\d 表示十进制的数字[0-9]
\D 表示非数字
\s 表示空白字符(空格 tab 回车) 只要有空白就为true
\S 表示非空白字符 只有有非空白就为true
\w 表示一个字符 0-9 a-z A-Z _
\W 表示除了w以外的字符
元字符:用来修饰原子的
元字符有很多,分类如下
1.开始元字符 ^ 和 结束元字符$
开始元字符:^
出现位置:一般是在正则表达式的最前面出现
作用:表示字符串必须以^后面的那个原子作为开始
联系:电话区号,以0打头
结束元字符$
出现位置:一般出现在正则表达式最后面
作用:表示必须以结束元字符前面那个原子作为结束
注意:当开始和结束一起使用时的问题
2.数量相关的元字符 {} * + ?
{m}:前面的原子必须至少出现m次
{m , n}
* :前面的原子可以出现0次或很多次 相当于{0,}
+ :前面的原子至少出现1次 相当于 {1, }
? :前面的原子至少出现0次或者1次 {0 , 1}
3.逻辑相关的元字符[ ] |
[ ] :表示多个原子,只要有一个在目标字符串中出现就行
在[ ] 中可以使用额外的两个符号 :
^ 表示取反
- 表示区间
对于下面的写法,我们可以使用 - 区间
| :表示 或 的意思 ,