2020-08-10

                    **02JavaScript的正则表达式**

通过进一步的学习,碰到了一个非常有趣的东西,那就是正则表达式。这个东西一般人看不懂 ,用老师的话来说就是“如果你不觉得正则表达式很难读写的话,要么你是一个天才,要么,你不是地球人。”正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。正则表达式,里面包含了一些常用的字符如下图:

在这里插入图片描述
学习正则表达式的最好方法是从例子开始,理解例子之后再自己对例子进行修改,实验。一般情况下我们都是去了解他的格式和作用。然后我们要先去了解什么叫正则表达式。在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。正则表达式通常已经 (/b n/b)的形式存在n代表可定义的\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。对于正则表达式我们还有专门的测试和检测工具。这些工具用了检测我们的正则表达式是否符合规范和格式,对我们的日常代码有辅助作用。
在这里插入图片描述
例如检测工号,我们输入正则表达式来进行检测工号。知道了工号是由3到10位字母或者数字组成然后,我们将正则表达式复制到检测工具进行检测。如下下图:
在这里插入图片描述
可以看到输入的/1{3,10}$/ 然后下面检测到工号可以是由二十六字母组成和数字一起组成3到10位的工号:
在这里插入图片描述
如果遇到比较复杂的正则表达式比如说表达式:(?0\d{2}[) -]?\d{8}。这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。我们对它进行一些分析吧:首先是一个转义字符(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。不幸的是,它也能匹配010)12345678或(022-87654321这样的“不正确”的格式。正则表达式还有一种特殊的定义,那就是他的反意。有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义。
在这里插入图片描述在这里插入图片描述
正则表达式运算符的优先级:正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。相同优先级的从左到右进行运算,不同优先级的运算先高后低。下表从最高到最低说明了各种正则表达式运算符的优先级顺序:
在这里插入图片描述

正则表达式还有对应的匹配规则,可以重复出现,可以由普通的字符串组成,也可以非常复杂。如下图:这是简单的匹配规则,代表相应的取值。
在这里插入图片描述
比如:[a-z]代表匹配a-z二十六个小写字母而[A-Z]代表匹配A-Z二十六个大写字母。[0-9]代表匹配所以的数字 ,因所有的数字都是由0-9组成,所以[0-9]可以匹配所以数字等。正则表达式结论:
1.正则表达式是要匹配目标的字符串。
2.正则表达式是由数字和符号集合构成的,元素集合是字符的。
3.正则表达式就是要求规定字符出现+出现的次数。
4.正则表达式为匹配文本的一组标记符。


  1. A-Za-z0-9 ↩︎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值