javascript代码实例教程-javascript正则表达式(1)――RegExp对象与常用字符

发布时间:2019-01-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-javascript正则表达式(1)――RegExp对象与常用字符脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 正则表达式,又称规则表达式(英语: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.一般情况下正则表达式一个字符对应字符串一个字符

@H_717_126@javascript代码实例教程-javascript正则表达式(1)――RegExp对象与常用字符

2.表达式ab/t的含义是

3.我们可以使用元字符[]来构建一个简单的类

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

5.表达式[abc]把字符a或b或c归为一类,表达式可以匹配这类的字符

 

javascript代码实例教程-javascript正则表达式(1)――RegExp对象与常用字符


 

例如:'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]

javascript代码实例教程-javascript正则表达式(1)――RegExp对象与常用字符

例如:'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'

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-javascript正则表达式(1)――RegExp对象与常用字符全部内容,希望文章能够帮你解决javascript代码实例教程-javascript正则表达式(1)――RegExp对象与常用字符所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。