JavaScript正则表达式简单介绍

正则表达式是事先声明一组规则,用于匹配字符串中的字符。在字符串查找、替换等应用中非常实用,在javascript中对正则表达式有很好的支持,提供了RegExp对象来支持正则表达式。

 

基本语法

元字符

在正则表达式的模式中,有一些字符是有特殊含义的,被称为元字符。元字符都是针对单个字符匹配的。

 \w 匹配大小写英文字符及数字 0 到 9 之间的任意一个及下划线,相当于 [a-zA-Z0-9_]

 \W 不匹配大小写英文字符及数字 0 到 9 之间的任意一个,相当于 [^a-zA-Z0-9_]

 \s 匹配任何空白字符,相当于 [ \f\n\r\t\v]

 \S 匹配任何非空白字符,相当于 [^\s]

 \d 匹配任何 0 到 9 之间的单个数字,相当于 [0-9]

 \D 不匹配任何 0 到 9 之间的单个数字,相当于 [^0-9]

 [\u4e00-\u9fa5] 匹配任意单个汉字(这里用的是 Unicode 编码表示汉字的 )

如:将自定字符串中的数字替换成‘-’符号

// 将msg变量定义字符串中的数字替换成‘-’字符串

var msg = "j1a2v3a4s5c6r7i8p9t";

msg = msg.replace(/\d+/g, "-");

alert(msg);

 

界定符

比较通用的正则表达式界定符是双斜杠 /regex/。如:下面将替换掉msg字符串两端的空白。

var msg = "  javascript  ";

msg = msg.replace(/(^\s+)|(\s+$)/g, "");

alert("|" + msg + "|");

 

原子的概念

正则表达式中的原子分为可见原子和不可见原子。

 [\f\n\r\t\v] 属于不可见原子,其他表示可见原子

 

量词

 \* 匹配 0 到多个元字符,相当于 {0,}

 ? 匹配 0 到 1 个元字符,相当于 {0,1}

 {n} 匹配 n 个元字符

 {n,} 匹配至少 n 个元字符

 {n,m} 匹配 n 到 m 个元字符

 \+ 匹配至少 1 个元字符,相当于 {1,}

如:将字符串中2个以上的a替换成个‘-’字符

var msg = "javascaaariaapt";

msg = msg.replace(/a{2,}/g, "-");

alert(msg);

 

边界

 \b 匹配单词边界

 ^ 字符串必须以指定的字符开始

 $ 字符串必须以指定的字符结束

如:去掉字符串开始的a和结束的b

var msg = "aaajavascaaariaaptbbb";

msg = msg.replace(/(^a+)|(b+$)/g, "");

alert(msg);

 

捕获分组

正则表达式中,使用 () 将若干单位(可以是字符,正则表达式)组织在一起,成为一个独立单元。

正则表达式中,分组分为捕获分组和非捕获分组。

如:替换掉指定字符串首尾的空白字符。

var msg = "  javascript ";

alert( msg.replace(/(^\s+)|(\s+$)/g, "") );

 

来源:http://www.hxstrive.com/article/208.htm

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值