JavaScript正则表达式学习笔记

常用函数

了解正则之前,有几个函数一定要知道。
字符串对象方法:
1、search 查找字符串中是否含有某一个字符串,并返回其所在的位置。

2、match 返回一个字符数组,数组里面放的是符合查询条件的所有字符串。

3、replace 替换指定字符或字符串。

4、splite 字符串切割函数。

以上,四个方法皆为JS字符串对象所自带的函数方法,参数可以传string类型,也可以传正则。

正则对象方法
1、test 返回值为boolean类型,参数传一个字符串。如果符合正则筛选条件,则返回true;否则,返回false。比如:

let re = /^1\d+$/g;//开头为1的数字字符串
console.log(re.test('1000'));//ture
console.log(re.test('2000'));//false
console.log(re.test('1abcd00'));//false
console.log(re.test('100abd'));//false

基本概念

定界符
双斜杠,即代码里面的注释斜杠。只不过,我们写正则的时候,把内容写在双斜杠中间。比如:

//查找字符串中的数字
let re = /^1\d+$/g;//开头为1的数字字符串 此处的g先暂不做解释

参数

常用的有两个:

i,忽略大小写;g,贪婪匹配,全局去匹配。使用时,写在定界符的末尾。

比如:查找字符串中的所有大小写字母a

let str = 'asdfasfAAAdasfsd5646dasfas';
let re = /a+/ig;
console.log(str.match(re));

量词
1、+加号
加号是一个量词,表示[1,n),至少一个,最多可以有n个。

2、?问号
表示最多只有一个或者没有。

3、{}大括号

有三种使用形式:

{n},有n个。比如/a{6}/表示匹配6个连一起的字符a。

{n, m},有n~m个。比如/\d{5, 12}/表示匹配5到12个连续的数字。

{n,},至少n个,多了不限。比如/\d{5}/表示匹配5个及其以上连续的数字。

补充:

其实,量词+(加号)就是{1,}的简写;量词?(问号)就是{0,1}的简写。

修饰符
^,行首。比如:匹配一个数字开头的字符串

let re = /^\d\w+/ig;

$,行位。比如:匹配一个数字结尾的字符串

let re = /\d$/ig;

补充:这两个修饰符需要灵活使用或者配合一起使用,来达到需要的效果。

元字符

元字符用中括号[]表示,主要有以下3种使用形式:

1、表示任何一个

let re = /a[abc]q/;
//上面这个正则可以匹配:aaq、abq、acq这三种字符。

2、范围

//匹配一个数字
let re = /[0-9]/;
//匹配一个字字母
let re = /[a-z]/i;

如果不加量词修饰,那么一个中括号,只表示匹配一个字符,只不过这个字符,需要在这个范围内。

3、排除

//匹配一个不是数字的字符
let re = /[^0-9]/;

转义符

\d 表示数字0~9,相当于[0-9]
\w 表示字母、数字、下划线,相当于[a-z0-9_]
\s 表示空白字符,比如空格和tab键敲出来的空白
. 表示任意字符

\D 相当于 [^0-9]
\W 相当于[^a-z0-9_]
\S 非空白

备注:
正则这一块的东西和使用组合太多了,我这边只是简单列取了一些基本概念和常见的使用形式。让自己以后在看别人写的正则语法时,不至于什么都看不懂。

至此,完毕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值