JavaScript学习笔记(18)正则表达式简介

正则表达式

 正则表达式是一种用来匹配字符串的强有力武器。
 它的设计思想是用一种描述性得语言来给字符串定义一个规则,凡是符合规律的字符串我们就认为它“匹配”了,否则,该字符串不合法。

  • 例子:判断一个字符串是否符合合法的Email的方法:

1、创建一个匹配Email的正则表达式;

2、用该正则表达式去匹配用户的输入法来判断是否合法。

  ‘00\d’可以匹配’007’,但无法匹配’00A’;
 ‘\d\d\d’可以匹配’010’;
 ‘\w\w’可以匹配’js’;

3、.可以匹配任意字符,所以:
 'js.‘可以匹配’jsp’、‘js3’、'js!'等等。

4、要匹配变长的字符,在正则表达式中,用*表示任意个字符(包括0个),用+表示至少一个字符,用?表示0或者1个字符,用{n,m}表示n~m个字符:
 例子:
\d{3}\d{3,8}
表示:三个数字、3-8个数字

进阶

做更精确的匹配,可以用[ ]表示范围,比如:

  • [0-9a-zA-Z_]可以匹配一个数字、字母或者下划线;
  • [0-9a-zA-Z_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,比如’a100’,‘0_Z’,'js2015’等等;
  • [a-zA-Z_$][0-9a-zA-Z_$]*可以匹配由字母或下划线、$ 开头,后接任意个由一个数字、字母或者下划线、$ 组成的字符串,也就是JavaScript允许的变量名;
  • [a-zA-Z_$][0-9a-zA-Z_$]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。

A|B可以匹配A或B,所以(J|j)ava(S|s)cript可以匹配’JavaScript’、‘Javascript’、‘javaScript’或者’javascript’。

^ 表示行的开头,^\d表示必须以数字开头。

$ 表示行的结束,\d$表示必须以数字结束。

你可能注意到了,js也可以匹配’jsp’,但是加上^js$就变成了整行匹配,就只能匹配’js’了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值