javaScript高级程序设计--正则

正则表达式通常用来匹配一个字符串,返回true(至少匹配到了一次)或者false(一次也没匹配到)。

正则表达式分为字面量方式和构造函数的方式

var reg = /[abs]/g; //字面量
var reg5 = new RegExp("[sbs]jjj", "g");//全局匹配sjjj或者bjjj;

字面量形式转换为构造函数的正则要注意的事项:

var reg5 = new RegExp("[sbs]jjj", "g");//全局匹配sjjj或者bjjj;
//等同于
var reg6 = /[sbs]jjj/g;
//注意传递给构造函数的参数都是字符串,
//所以在某些时候可能要字符进行双重转译(在转译的基础上再次进行转译,所有的元字符),通常是"\",在构造函数中转译成"\\"(或者说,遇到"\",就转译成"\\")

正则表达式有三种匹配模式---i,g,m。

 1.i表示在匹配的时候不区分大小写(包括要匹配的字符串和正则字面量本身);g表示全局匹配(可能会匹配多次,而不是匹配到一次就停止,并且下一次匹配总是从上一次匹配上的字符之后进行),m表示多行(不常用),三种匹配模式可以组合使用

var reg1  = /ght///匹配字符中的ght字符,只匹配一次;
var reg2  = /ght/g
alert(reg2.test("htyghtthyght"))//会进行多次匹配,第一次是从0开始,匹配到第一次后,又从下标为4开始继续匹配
元字符:( [ { \ ^ $ | ) ? * + .],如果这些元字符要作为匹配"元素",就必须要进行转译,用"\"+元字符进行转译;
/**
 *全局匹配"yk"或者"Hk",不区分大小写
 * @type {RegExp}
 */
var reg3 = /[yH]k/gi;
/**转译
 * 全局匹配"[yh]k",不区分大小写;
 */
var reg4 = /\[yH\]k/gi;
alert(reg4.test("[yh]kii"))//true



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值