正则表达式
来源:互联网 发布: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] 把字符a或b或c归为一类,表达式可以匹配这类的字符
'a1b1c1d1'.replace(/[abc]/g, "x") //结果:"x1x1x1d1"
字符取反
使用元字符^创建反向类/负向类
反向类的意思不属于某类的内容
表达式[^abc] 表示 不是字符a或b或c的内容
'a1b1c1d1'.replace(/[^abc]/g, "x") //结果:"axbxcxxx"
范围类
正则表达式为我们提供范围的类
在上面的场景中,如果匹配0-9的数字 [0123456789]
而匹配单词a到z的字符,书写很麻烦
使用使用[a-z]来连接两个字符表达 从a到z的任意字符
[a-z]是闭区间 包括a和z本身
'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"
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 抽象工厂和工厂方法模式的比较(转载)
- 冒泡排序Java实现
- 阿里2016前端开发工程师笔试 - 关于斐波那契(fibonacci)数列的JS写法解答
- @media解决前端移动设备不兼容问题
- iOS10和Xcode8适配
- 正则表达式
- Android中利用clipchildren属性来完成子视图是否在控制范围内
- 在java中instanceof的用法?
- SSH BaseDaoImpl的一般写法
- java常量池概念
- 雅思
- 安装birl_baxter过程记录
- 树——求先序排列
- 【时光回溯】【JZOJ3567】【GDKOI2014】石油储备计划