javascript正则表达式(1)——RegExp对象与常用字符
2017-01-27 11:50
766 查看
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。——来源于百度百科
先简要介绍一下正则表达式的常用字符
\d代表数字
\b代表单词边界。例如\bis\b,即选择is单词
.(点)代表任意字符
\转义字符
(…)括号为分组符PS:第一个括号括起来系统标记为$1,第二个括号为$2,方便对分组内容进行处理
{…}量词,表示数量,若要选择4个数字,则\d{4}
[…]表示或者,例如:[/-]即/或者-
^表示开头,$表示结尾
JavaScript通过内置对象RegExp支持正则表达式
有两种方法实例化RegExp对象
字面量
构造函数
字面量
var reg=/\bis\b/;
构造函数
var reg=new RegExp('\\bis\\b','g'); //javascript中\是特殊字符,我们想要使用的话需要先转义
var reg=/\bis\b/; 其中/…/是声明为正则表达式的语法
'He is a boy. This is a dog. Where is she?'.replace(reg,'IS'); 对这句话中的is进行替换
匹配结果为 'He IS a boy. This is a dog. Where isshe?' 只有第一个is替换了,最后一个is没有发生替换
正确的正则表达式应该是 var reg=/\bis\b/g; 其中g代表global,全文匹配,用处很多,高频属性
var reg=newRegExp('\\bis\\b','g') ; 在javascript中'\'本身就是特殊字符,所以需要再加一个\进行转义,用法同上
g:global全文搜索,不进行添加,搜索到第一个匹配停止
i:ignore case 忽略大小写,默认大小写敏感
m:multiple lines 多行搜索
可以直接添加在原有指令符上 如:/gim或者'gim'
元字符
1.正则表达式由两种基本字符类型组成:
1)原义文本字符
2)元字符
2.元字符是在正则表达式中有特殊含义的非字母字符
3.* + ? $ ^ . | \ (…) {…} […]
字符类
1.一般情况下正则表达式一个字符对应字符串一个字符
元字符
1.正则表达式由两种基本字符类型组成:
1)原义文本字符
2)元字符
2.元字符是在正则表达式中有特殊含义的非字母字符
3.* + ? $ ^ . | \ (…) {…} […]
字符类
1.一般情况下正则表达式一个字符对应字符串一个字符
2.表达式ab\t的含义是
3.我们可以使用元字符[]来构建一个简单的类
4.所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符
5.表达式[abc]把字符a或b或c归为一类,表达式可以匹配这类的字符
例如:'a1b2c3d4'.replace(/[abc]/g,'X');
结果为:'X1X2X3d4'
字符类取反
1.使用元字符^创建 反向类/负向类
2.反向类的意思是不属于某类的内容
3.表达式[^abc]表示 不是字符a或b或c 的内容
例如:'a1b2c3d4'.replace(/[^abc]/g,'X');
结果为:'aXbXcXXX' 除了abc以外的字符全部替换成X
范围类
使用字符类匹配数字[0123456789]
1.正则表达式还提供了 范围类
2.所以我们可以使用[a-z]来连接两个字符表示 从a到z的任意字符
3.这是个闭区间,也就是包含了a和z本身
例如:'a1b2d3x4z9'.replace(/[a-z]/g,'Q')
结果为:'Q1Q2Q3Q4Q9'
在[]组成的类内部是可以连写的 [a-zA-Z]
例如:'a1b2d3x4z9AJHGYXG'.replace(/[a-zA-Z]/g,'Q')
结果为:'Q1Q2Q3Q4Q9QQQQQQQ'
如果我们也想要匹配'-'怎么办?因为'-'(横线)在正则表达式里面代表范围所以'-'是不会自动匹配的
例如:'2016-09-12'.replace(/[0-9]/g,'A')
结果为:'AAAA-AA-AA'
如果想要匹配'-'(横线),就应该这样写
例如:'2016-09-12'.replace(/[0-9-]/g,'A')
结果为:'AAAAAAAAAA'
先简要介绍一下正则表达式的常用字符
\d代表数字
\b代表单词边界。例如\bis\b,即选择is单词
.(点)代表任意字符
\转义字符
(…)括号为分组符PS:第一个括号括起来系统标记为$1,第二个括号为$2,方便对分组内容进行处理
{…}量词,表示数量,若要选择4个数字,则\d{4}
[…]表示或者,例如:[/-]即/或者-
^表示开头,$表示结尾
JavaScript通过内置对象RegExp支持正则表达式
有两种方法实例化RegExp对象
字面量
构造函数
字面量
var reg=/\bis\b/;
构造函数
var reg=new RegExp('\\bis\\b','g'); //javascript中\是特殊字符,我们想要使用的话需要先转义
var reg=/\bis\b/; 其中/…/是声明为正则表达式的语法
'He is a boy. This is a dog. Where is she?'.replace(reg,'IS'); 对这句话中的is进行替换
匹配结果为 'He IS a boy. This is a dog. Where isshe?' 只有第一个is替换了,最后一个is没有发生替换
正确的正则表达式应该是 var reg=/\bis\b/g; 其中g代表global,全文匹配,用处很多,高频属性
var reg=newRegExp('\\bis\\b','g') ; 在javascript中'\'本身就是特殊字符,所以需要再加一个\进行转义,用法同上
g:global全文搜索,不进行添加,搜索到第一个匹配停止
i:ignore case 忽略大小写,默认大小写敏感
m:multiple lines 多行搜索
可以直接添加在原有指令符上 如:/gim或者'gim'
元字符
1.正则表达式由两种基本字符类型组成:
1)原义文本字符
2)元字符
2.元字符是在正则表达式中有特殊含义的非字母字符
3.* + ? $ ^ . | \ (…) {…} […]
字符类
1.一般情况下正则表达式一个字符对应字符串一个字符
元字符
1.正则表达式由两种基本字符类型组成:
1)原义文本字符
2)元字符
2.元字符是在正则表达式中有特殊含义的非字母字符
3.* + ? $ ^ . | \ (…) {…} […]
字符类
1.一般情况下正则表达式一个字符对应字符串一个字符
2.表达式ab\t的含义是
3.我们可以使用元字符[]来构建一个简单的类
4.所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符
5.表达式[abc]把字符a或b或c归为一类,表达式可以匹配这类的字符
例如:'a1b2c3d4'.replace(/[abc]/g,'X');
结果为:'X1X2X3d4'
字符类取反
1.使用元字符^创建 反向类/负向类
2.反向类的意思是不属于某类的内容
3.表达式[^abc]表示 不是字符a或b或c 的内容
例如:'a1b2c3d4'.replace(/[^abc]/g,'X');
结果为:'aXbXcXXX' 除了abc以外的字符全部替换成X
范围类
使用字符类匹配数字[0123456789]
1.正则表达式还提供了 范围类
2.所以我们可以使用[a-z]来连接两个字符表示 从a到z的任意字符
3.这是个闭区间,也就是包含了a和z本身
例如:'a1b2d3x4z9'.replace(/[a-z]/g,'Q')
结果为:'Q1Q2Q3Q4Q9'
在[]组成的类内部是可以连写的 [a-zA-Z]
例如:'a1b2d3x4z9AJHGYXG'.replace(/[a-zA-Z]/g,'Q')
结果为:'Q1Q2Q3Q4Q9QQQQQQQ'
如果我们也想要匹配'-'怎么办?因为'-'(横线)在正则表达式里面代表范围所以'-'是不会自动匹配的
例如:'2016-09-12'.replace(/[0-9]/g,'A')
结果为:'AAAA-AA-AA'
如果想要匹配'-'(横线),就应该这样写
例如:'2016-09-12'.replace(/[0-9-]/g,'A')
结果为:'AAAAAAAAAA'
相关文章推荐
- JavaScript中的String对象的常用方法、文本框对象的常用方法和事件、正则表达式的概念、正则表达式的几种构造方式、RegExp对象使用什么方法匹配正则表达式、
- JavaScript中正则表达式RegExp对象的test方法
- 理顺 JavaScript (19) - 正则表达式对象 RegExp
- 详解JavaScript正则表达式之RegExp对象
- JavaScript RegExp(正则表达式) 对象
- JavaScript学习笔记-正则表达式(RegExp对象)
- JavaScript RegExp 正则表达式对象详细说明
- 轻松学习JavaScript十四:JavaScript的RegExp对象(正则表达式)
- JavaScript 正则表达式对象RegExp test方法慎用/g
- JavaScript之基础-10 JavaScript 正则表达式(概述、定义正则、RegExp对象、用于模式匹配的String方法)
- RegExp对象和常用正则表达式规则
- JavaScript 正则表达式(RegExp对象、属性、方法、String支持)
- javascript RegExp对象(正则表达式)
- JavaScript RegExp (正则表达式对象)
- JavaScript RegExp 正则表达式对象详细说明
- 详解JavaScript正则表达式之RegExp对象
- JavaScript语法入门系列(七) 类和对象(正则表达式RegExp)
- javaScript---- RegExp-常用正则表达式
- 好好学一遍JavaScript 笔记(七)——RegExp对象与常用正则
- JavaScript 正则表达式 RegExp 对象