正则表达式的基本语法

2018-05-15  本文已影响0人  usopp酱

1. 正则表达式

2. 创建正则表达式(2种)

(1) 构造函数

var reg=new RegExp("abc","g")//必须为字符串,第二个参数为在匹配过程中需要遵循某些规则

(2).字面量

var reg=/abc/g;//如果是字面量,内容直接写在'//'里面,第二个参数紧接在后
               //在控制台显示/abc/g,这个不是字符串,是控制台对正则表达式一个人性化的展示

最后的g代表全局,还有几个修饰符

3.元字符(在正则表达式代表特别的意义)

( [ { \ ^ $ | ) ? * + .
字符 含义
\ 转义符,如果\后不是特别的字母,\代表的转义的,可以转义元字符;例如'a*'.match(/a*/g);得到的是["a*"]
[ ] 在[ ]代表匹配这个范围内的的字符。例如[a-g],代表匹配这个范围内的一个字符
^ 以xxx为开头,例如/^hello/,必须以hello开头的
$ 以xxx的结尾
[^ ] 不匹配里面任何字符
. 除了/r/n所有的字符
\r 回车符
\n 换行符
\f 换页符
\v 垂直制表符
\0 空字符

量词

字符 含义
* 匹配前面字符0次或多次,等价于{0,}
匹配前面字符 0次或1次,等价于{0,1},如果紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪的(匹配尽量少的字符),和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。
+ 匹配前面字符1次或多次,等价于{1,}
{n} 匹配n次
{n,m} 出现n到m次
{n,} 至少出现n次

边界

字符 含义
^ 以xxx开头
$ 以xxx结尾
\b 单词边界
\B 非单词边界

预定义类

字符 等价类 含义
. [^/r/n] 除了回车符和换行符之外的所有字符
\d [0-9] 数字字符
\D [^0-9] 非数字字符
\s [\t\n\x0B\f\r] 空白符
\S [^\t\n\x0B\f\r] 非空白符
\w [a-zA-Z_0-9] 单词字符,字母、数字下划线
\W [^a-zA-Z_0-9] 非单词字符
上一篇下一篇

猜你喜欢

热点阅读