正则表达式

来源:互联网 发布:php直播间源码 编辑:程序博客网 时间:2024/04/28 07:58

正则表达式

创建RegExp 对象

字面量:var reg = /\bis\b/g ;

\b是单词边界 g是全文搜索  意思是寻找匹配is的单词 。

构建函数:var reg = new RegExp( ‘\\bis\\b’ , ‘g’ ) ;

 

 

元字符

正则表达式由两种基本字符类型组成

-- 原义文本字符

-- 元字符

元字符在正则表达式中有特殊含义的非字母字符

* + ? $ ^ . | \ ( ) [ ]        注:在不同的场景下,语意可能不同

\t  水平制表符

\v 重直制表符

\n 换行符

\r 回车符

\0 空字符

\f 换页父

\cx x对应的控制字符(ctrl + x

 

字符类

一般情况下正则表达式一个字符对应字符串的一个字符

表达式 ab\t的含义

 

用元字符[]构建一个简单的类

所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符

表达式[abc] 把字符abc归为一类,表达式可以匹配这类的字符

 

'a1b1c1d1'.replace(/[abc]/g, "x")    //结果:"x1x1x1d1"

 

字符取反

使用元字符^创建反向类/负向类

反向类的意思不属于某类的内容

表达式[^abc] 表示 不是字符abc的内容

'a1b1c1d1'.replace(/[^abc]/g, "x")    //结果:"axbxcxxx"

 

范围类

正则表达式为我们提供范围的类

在上面的场景中,如果匹配0-9的数字  [0123456789]

而匹配单词az的字符,书写很麻烦

使用使用[a-z]来连接两个字符表达 从az的任意字符

[a-z]是闭区间   包括az本身

'a1b2c3d4p5y6z7'.replace(/[a-z]/g, "x")   //结果:"x1x2x3x4x5x6x7"

[]组成的类内部是可以连写的[a-zA-Z]  匹配大小写

'a1B2c3D4p5y6Z7'.replace(/[a-zA-Z]/g, "x") //结果:"x1x2x3x4x5x6x7"

由于 - 不是元义符  需要匹配-    (在最后面加- 就可以了)

'2016-09-25'.replace(/[0-9-]/g,'A') //结果:"AAAAAAAAAA"

0 0
原创粉丝点击