javascript中的正则表达式

本文详细介绍了JavaScript中正则表达式的使用方法,包括构造函数、预定义类、边界匹配等概念,并通过实例展示了如何利用正则表达式进行字符串操作,如替换、分组和断言等。

javascript中的正则表达式

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

var reg=/\bis\b/;
eg:'is a is c'.replace(reg,'IS');
构造函数
var reg=new RegExp('\\bis\\b','g')


var reg=new RegExp('\\bis\\b','g');
eg:'is a ls iss is'.replace(reg,'ABC')
正则表达式由两种基本字符类型组成:
原义文本字符
a
元字符
有特殊含义的非字母字符
/b
* +? $ ^ .| \ () {} []
\f \t \cX
字符类
ab
我们可以使用元字符[]来构建一个简单类[abc]其中之一
eg:'a1b2c3b4'.replace(/[abc]/g,'X');
字符类取反
^反向类/负向类
eg:'a1b2c3b4'.replace(/[^abc]/g,'X');
范围类
[a-z] [a-zA-Z]
[1-10]
eg:'1233adfcADFAF'.replace(/[a-zA-Z]/g,'-')
预定义类
.回车换行外的所有字符
\d
\D
\s
\S
\w
\W非单词字符
边界匹配
^
$
\b
\B
eg:'this is a boy'.replace(/\bis\b/g,'0');
eg:'this is a boy'.replace(/is/g,'0');

量词
\d{3,6}

eg:'123456'.replace(/\d{3,6}?/,'x')非贪婪匹配
分组
(is)  (is|a|k)
eg:'sis our is is ousi'.replace(/(is)/g,'x')
反向引用
eg:'2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$3/$2/$1')
"25/12/2015"

前瞻
\w(?=\d)正则加断言
eg:'a2*3'.replace(/\w(?=\d)/g,'哈啊')

后顾
js属性
global
ignoreCase
multiline
var reg=/\w/;
reg.global;
reg.ignoreCase;
reg.multiline
reg.source
方法
test(str)

eg:var reg=/\w/g;
while(reg.test('ab')){
console.log(reg.lastIndex);
}
exec(str)
var reg=/.\w(\d)/g;
eg:var str='a1234r342t3435';
reg.exec(str);

split()
eg:'a1b2c3d4'.split(/\d/g);
replace()
replace(str,replaceStr)
replace(reg,replaceStr)
replace(reg,function)

function会在每次匹配替换的时候调用
有四个参数
1.匹配字符串
2.正则表达式分组内容,没有分组则没有该内容
3匹配项在字符串中的index;
4原字符串

eg:'aosod3f4g5'.replace(/(\d)/, function (match, group, index, normal)
    {   console.log(match + 'match');
    console.log(group + 'group');  
    console.log(index + 'index');  
    console.log(normal + 'normal');
    });

 

 

 

 

 

转载于:https://my.oschina.net/iioschina/blog/769012

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值