正则表达式的组概念

正则表达式是文本处理的基础。正则表达式的“()”也常常出现在规则字符串中。初学者常对于何时使用这个()而感到困惑。很多书上都写到()表示组的概念,可是,这样模糊的概念还是不大有助于我们理解,今天,总结了一下这个()组的用法,现在记录下来。

‘()’常常应用的场合有以下三处:

1) 如果我们匹配dig或者dog,这样仅有一个公共字符的例子,我们可以d[io]g来匹配,可是如果我们的需求是glad或者good,这样两个或两个以 上的公共字符,则之前那种表示方法就有些过于繁琐了。这里我们就可以用组来方便地表示,即:g(la|oo)d这样的方法。

2)多字符的循环模式

我们用/go+d/来表示god,good,go......d,而如果我们想匹配出现good一次或多次的情况,就需要/(good)+/来表示了。

3)很多语言查找一组数据后会返回组的匹配结果

如:

js中的例子.

//从身份证中获取出生年月日信息

str = '420105195711121614';

//可以将年月日一一匹配出来

var re = //d{6}([12]/d{3}([01]/d)([0123]/d)/d{4}/;

document.write(id[0] + "<br/>");

document.write(id[1] + "-" + id[2] + "-" + id[3]);

返回结果为:

420105198211921614

1957-11-12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值