JS 正则表达式

参考:http://deerchao.net/tutorials/regex/regex.htm


正则表达式有三个标志:

g  表示全局模式,匹配所有适合项,而不是发现第一个匹配项立即停止

i  不区分大小写

m  表示多行模式 ,即到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项


正则表达式的元字符包括: () [] {} \ ^ $ ? * + . 

^  起始位置 $  结尾位置,使用了起始结束位置符号后,匹配一行的内容

\b  单词边界

[abc] a或b或c

[0-9a-zA-Z]  数字或者小写字母或者大写字母

[^0-9]  非 数字的一个字符,这里^代表了否定

.  点号代表任意字符


\s 空格    \S 非空格     \d  数字\D 非数字    \w 字符(字母,数字,下划线)\W  非字符


量词:

{m,n}代表至少出现m次,最多出现n次

*等价于{0,} ,也就是出现0次以上,尽可能多的匹配

?等价于{0,1},也就是出现0次或1次,尽可能多的匹配

+等价于{1,},也就是1次以上,尽可能多的匹配


需要匹配的是元字符时,需要用转义符号\

/a?b/.test('abcde') //返回true,a出现0次,然后匹配到b
/ab?e/.test('abcde') //返回false,匹配到ab,但是接着不是e


或 |


()捕获  (?:)不捕获


几种应用正则表达式的方法

test方法

var str = 'abc123';
var rule = /\D/;
// test返回布尔值,表示是否匹配到内容
rule.test(str);
search方法

var str = 'abcdef';
var rule = /cd/;
// search匹配成功,返回位置,失败,返回-1
str.search(rule);
match方法

var str = 'abcdabcdabcd';
// 有g则匹配所有符合的内容,没有g只匹配第一个符合的内容
var rule = /ab/g;
// match返回一个包含匹配内容的数组
str.match(rule);
replace方法

var str = 'aaa';
var rule = /a/g;
// 将全部的字符a换成b
str.replace(rule,'b');
还有exec方法,是更强大的检索,有更详尽的结果和过程状态






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值