.net如何做直播网站,自己电脑怎样做网站,怎么才能让网站图文展示,东莞网站推广优化公司JavaScript#xff1a;正则表达式 什么是正则表达式正则表达式语法定义正则表达式判断是否有匹配的字符串查找匹配的字符串 正则表达式匹配法则元字符边界符量词字符类 什么是正则表达式
正则表达式用于匹配字符串中字符的组合模式。 正则表达式会依据其自身语法#xff0c;… JavaScript正则表达式 什么是正则表达式正则表达式语法定义正则表达式判断是否有匹配的字符串查找匹配的字符串 正则表达式匹配法则元字符边界符量词字符类 什么是正则表达式
正则表达式用于匹配字符串中字符的组合模式。 正则表达式会依据其自身语法来对字符串进行限制并判断字符串是否满足限制。
就好比在人群中找出一个指定目标我们可以依据限制条件黑皮肤戴眼镜长发等等来找出符合要求的一个或多个人。而正则表达式就是用于规定限制条件的。
在JavaScript中正则表达式会被当作一个对象。 正则表达式语法
定义正则表达式
JavaScript提供了两种方法创建正则表达式在此我只讲解使用多的那种 语法
let/var/const 变量名 /正则表达式/赋值符号左侧用关键字定义了一个变量这个变量最终就是这个正则表达式的对象了。 赋值符号右侧是两个斜杠引起的内容在斜杠内部写正则表达式。
示例 可以看到虽然直接输出reg没有得到对象但是其类型确实为object。
想要使用这个正则表达式要通过这个对象的方法 判断是否有匹配的字符串
test()方法可以检测一个字符串是否符合正则表达式的规则其返回值为布尔值。 语法
Object.test(被检测的字符串)Object是正则表达式的对象被检测到的字符串放在函数的参数里。
首先讲解一个基本的正则表达式匹配法则当正则表达式中只有一个字符串时只要在被检测的字符串中出现正则表达式中的字符串就算匹配成功。
案例 在案例中创建了两个正则表达式的对象其中reg1要求语句中出现UFO而reg2要求语句中出现科学家。 于是在reg1.test()下含有UFO的字符串输出了true在reg2.test()下含有科学家的字符串输出了true。 查找匹配的字符串
exec()方法可以匹配搜索符合正则表达式要求的子字符串的位置和值。 语法
Object.exec(被检测的字符串)这个函数的返回值是一个数组数组内部存储了匹配到的子字符串匹配到的位置输入的字符串等信息。
案例 可以看到当字符串符合要求时就会返回一个数组数组中第一个元素就是匹配到的子字符串而第三个元素则是匹配到的子字符串的起始下标当字符串不符合要求时返回值就是空。
以上就是JavaScript中的正则表达式基本使用方法接下来讲解正则表达式本身的匹配法则 正则表达式匹配法则
元字符
在正则表达式中字符被分为普通字符和元字符 普通字符这种字符只能描述它们自身例如所有的字母数字。 元字符元字符是一种具有特殊含义的字符它可以描述一大类字符。
比如 规定用户只能填入26个英文字母那么我们就需要在正则表达式中输入abcdefg......xyz把26个字母全部输入一遍这就很麻烦了。但是有一个元字符[a-z]可以表示a-z的所有小写字母这样就把原先的26个字符压缩成了5个字符极大提高了书写效率。
元字符有非常多大致可以分为三类边界符量词字符类。接下来我们一一讲解 边界符
正则表达式中边界符用于提示字符所处的位置。 最常用边界符
边界符含义^表示匹配行首的文本以谁开始$表示匹配行尾的文本以谁结束
案例 可以看到/^科学家/只匹配以科学家开头的字符串而/UFO$/只匹配以UFO结尾的字符串。
此外还有一个语法那就是正则表达式以^开头的同时以$结尾的结构比如/^abc$/这样的正则表达式其时什么含义 这可不是表示既要以abc开头又要以abc结尾。而是表示精确匹配即这个字符串只能和abc一模一样才可以匹配。
案例 案例中不论是同时以UFO开头结尾或者出现了UFO的语句都无法匹配只有目标字符串就是UFO三个字母时才能匹配。
在实战中使用的几乎都是精确匹配到目前为止其看起来只能匹配一种字符串但是结合后面得到量词和字符类精确匹配也可以匹配不同类型的字符串。 量词
量词用于设定某个模式出现的次数。 常见量词
量词说明*重复零次或者更多次重复一次或者更多次?重复零次或者一次{n}重复n次{n,}重复n次或者更多次{n,m}重复n到m次
如果被重复的部分超过了一个字符需要用括号括起来否则只重复量词紧挨着的字符。
我们接下来用一个案例看看用法 案例中正则表达式设置为了/^(UFO)*$/即UFO这个整体要重复出现0次或更多次所以哪怕是一个空字符串由于UFO出现了0次依然符合要求。
那么后面的就是一样的规则了我再讲解一个{n,m}的案例 案例中只有重复次数在[2,4]区间内的字符串才满足匹配要求。 注意{n,m}之间不允许出现任何空格必须连着写
在以上案例中我们使用了精确匹配精确匹配的要求是必须完全符合内部表达式我为大家解释几个正则表达式的含义为大家加深一下精确匹配的作用 /^(UFO){2,4}$/字符串必须是由UFO重复2-4次才可以匹配 /^(UFO){2,4}/字符串必须由UFO重复2-4次开头实际作用是必须以UFO重复两次及以上开头 /(UFO){2,4}$/字符串必须由UFO重复2-4次结尾实际作用是必须以UFO重复两次及以上结尾 /(UFO){2,4}/字符串中必须出现2-4个UFO连在一起实际作用是字符串中必须有两个UFO连在一起 为何后三者的实际作用与语法上看起来不同 这是因为后三者的匹配规则是只要目标字符串的子字符串符合要求那么其就可以和正则表达式匹配。 比如/^(UFO){2,4}/对于这个正则表达式请问UFOUFOUFOUFOUFO被发现可以匹配吗 在UFOUFOUFOUFOUFO被发现这个字符串中是以5个UFO开头的好像不满足/^(UFO){2,4}/这个表达式但是其子字符串满足要求。 我们可以将UFOUFOUFOUFOUFO被发现拆分为以下情况 UFOUFO UFOUFOUFO被发现以两个UFO重复开头满足/^(UFO){2,4}/要求 UFOUFOUFO UFOUFO被发现以三个UFO重复开头满足/^(UFO){2,4}/要求 UFOUFOUFOUFO UFO被发现以四个UFO重复开头满足/^(UFO){2,4}/要求 可以发现/^/只要求以xxx开头所以我们可以拆分出很多符合要求的开头就算有多余的UFO超过了重复次数的限制那就不把它当作开头。所以最后的效果就是必须以UFO重复两次及以上开头。 后两者也就是一个意思了。 字符类
[] 匹配字符集
匹配字符集可以用于对某个字符进行多样匹配比如[abc]表示一个字符可以是abc中的任何一个。
案例 /^[UFO]$/这个正则表达式中要求一个字符是UFO三者中的任意一个所以前三个字符串都输出了true。 那为什么第四个UFO却输出了false 这是因为一个[]只能匹配一个字符对于/^[UFO]$/这个正则表达式由于精确匹配的原因其实际含义为只能出现一个字符且这个字符必须是UFO三者之一。
如果想要使用[]匹配字符那就需要结合前面的量词一起使用。 比如 /^[UFO]*$/表示一个字符串中只能有UFO三种字母构成长度不限
再来一个稍微复杂点的 /^[UFO]{2,4}[科学家]?$/ 这串正则表达式可以拆分为两个部分[UFO]{2,4}以及[科学家]? [UFO]{2,4}表示必须存在2-4个字符且这2-4个字符必须由UFO三个字符组合成 [科学家]?表示必须存在0或1个字符且必须由科学家三个字符组合成 最后这个正则表达式从左往右判断就是 一开始必须存在2-4个字符且这2-4个字符必须由UFO三个字符组合成然后必须存在0或1个字符且必须由科学家三个字符组合成 我再分析以下下面这个输出结果帮助大家理解 UFO 一开始存在三个字符且都是UFO之一符合[UFO]{2,4}要求 接着没有字符了即存在0个字符符合[科学家]?要求 F 一开始存在一个字符是UFO之一不符合[UFO]{2,4}的数量要求 FUO科 一开始存在三个字符且都是UFO之一符合[UFO]{2,4}的数量要求 接着存在一个字符‘科’符合[科学家]?要求 UF科学家 一开始存在两个字符且都是UFO之一符合[UFO]{2,4}要求 接着存在三个个字符‘科学家’不符合[科学家]?的数量要求 可以发现精确表达也可以通过量词的限定来实现匹配不同长度的字符串。 [-] 范围表示匹配字符集
上述匹配字符集[]是以枚举的形式其实我们也可以给定一个范围匹配范围内的字符。
常用值
字符类作用[a-z]匹配所有小写的字母[a-zA-Z]匹配所有的大小写字母[0-9]匹配0-9的数字
^ 取反符号
在正则表达式的一开始我们提到^表示以xxx开始但是那是在//之间的情况下 当^在[]之间表示取反即匹配除了xxx以外的字符。
比如/^[^a-z]$/表示匹配除了a-z以外的所有字符、 . 匹配除换行符以外的所有单个字符
如果你在某个字符的位置不想限制用户的输入任其自由发挥你就可以使用 . 这个字符类。 注意一个 . 只匹配一个字符如果想让多个字符随意输入需要加量词。 预定义
预定义是指某些常见模式的简写形式。
预定类说明\d[0-9]的简写形式\D[^0-9]的简写形式\w[A-Za-z0-9_]的简写形式\W[^A-Za-z0-9_]的简写形式\s匹配空格包括换行符空格符制表符等\S匹配非空格
文章转载自: http://www.morning.dlmqn.cn.gov.cn.dlmqn.cn http://www.morning.ngkng.cn.gov.cn.ngkng.cn http://www.morning.kgxrq.cn.gov.cn.kgxrq.cn http://www.morning.jqrp.cn.gov.cn.jqrp.cn http://www.morning.hwcgg.cn.gov.cn.hwcgg.cn http://www.morning.kfbth.cn.gov.cn.kfbth.cn http://www.morning.ftzll.cn.gov.cn.ftzll.cn http://www.morning.qzpw.cn.gov.cn.qzpw.cn http://www.morning.nccyc.cn.gov.cn.nccyc.cn http://www.morning.lwtfx.cn.gov.cn.lwtfx.cn http://www.morning.nzms.cn.gov.cn.nzms.cn http://www.morning.ffgbq.cn.gov.cn.ffgbq.cn http://www.morning.qbzfp.cn.gov.cn.qbzfp.cn http://www.morning.qhrlb.cn.gov.cn.qhrlb.cn http://www.morning.gwwky.cn.gov.cn.gwwky.cn http://www.morning.qtzk.cn.gov.cn.qtzk.cn http://www.morning.jgmdr.cn.gov.cn.jgmdr.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.yqkmd.cn.gov.cn.yqkmd.cn http://www.morning.zqbrw.cn.gov.cn.zqbrw.cn http://www.morning.klrpm.cn.gov.cn.klrpm.cn http://www.morning.zyffq.cn.gov.cn.zyffq.cn http://www.morning.rmjxp.cn.gov.cn.rmjxp.cn http://www.morning.sbdqy.cn.gov.cn.sbdqy.cn http://www.morning.qttg.cn.gov.cn.qttg.cn http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn http://www.morning.chgmm.cn.gov.cn.chgmm.cn http://www.morning.rccpl.cn.gov.cn.rccpl.cn http://www.morning.ykqbs.cn.gov.cn.ykqbs.cn http://www.morning.fkmyq.cn.gov.cn.fkmyq.cn http://www.morning.pshtf.cn.gov.cn.pshtf.cn http://www.morning.ktntj.cn.gov.cn.ktntj.cn http://www.morning.jycr.cn.gov.cn.jycr.cn http://www.morning.rbzd.cn.gov.cn.rbzd.cn http://www.morning.nsppc.cn.gov.cn.nsppc.cn http://www.morning.kzpy.cn.gov.cn.kzpy.cn http://www.morning.ggnfy.cn.gov.cn.ggnfy.cn http://www.morning.zwmjq.cn.gov.cn.zwmjq.cn http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn http://www.morning.xzqzd.cn.gov.cn.xzqzd.cn http://www.morning.zwxfj.cn.gov.cn.zwxfj.cn http://www.morning.ftznb.cn.gov.cn.ftznb.cn http://www.morning.gbcxb.cn.gov.cn.gbcxb.cn http://www.morning.paxkhqq.cn.gov.cn.paxkhqq.cn http://www.morning.zcmpk.cn.gov.cn.zcmpk.cn http://www.morning.lwsct.cn.gov.cn.lwsct.cn http://www.morning.qcwck.cn.gov.cn.qcwck.cn http://www.morning.fznj.cn.gov.cn.fznj.cn http://www.morning.jfwrf.cn.gov.cn.jfwrf.cn http://www.morning.ccjhr.cn.gov.cn.ccjhr.cn http://www.morning.qsmch.cn.gov.cn.qsmch.cn http://www.morning.jfxth.cn.gov.cn.jfxth.cn http://www.morning.npfkw.cn.gov.cn.npfkw.cn http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn http://www.morning.atoinfo.com.gov.cn.atoinfo.com http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn http://www.morning.wmfr.cn.gov.cn.wmfr.cn http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn http://www.morning.ccdyc.cn.gov.cn.ccdyc.cn http://www.morning.nkqrq.cn.gov.cn.nkqrq.cn http://www.morning.ddxjr.cn.gov.cn.ddxjr.cn http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn http://www.morning.nswcw.cn.gov.cn.nswcw.cn http://www.morning.skkmz.cn.gov.cn.skkmz.cn http://www.morning.fhkr.cn.gov.cn.fhkr.cn http://www.morning.wmrgp.cn.gov.cn.wmrgp.cn http://www.morning.grxyx.cn.gov.cn.grxyx.cn http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn http://www.morning.hwbmn.cn.gov.cn.hwbmn.cn http://www.morning.zkgpg.cn.gov.cn.zkgpg.cn http://www.morning.wptrm.cn.gov.cn.wptrm.cn http://www.morning.bhxzx.cn.gov.cn.bhxzx.cn http://www.morning.rqnml.cn.gov.cn.rqnml.cn http://www.morning.tsycr.cn.gov.cn.tsycr.cn http://www.morning.tlbdy.cn.gov.cn.tlbdy.cn http://www.morning.wknbc.cn.gov.cn.wknbc.cn http://www.morning.qkkmd.cn.gov.cn.qkkmd.cn http://www.morning.cbnjt.cn.gov.cn.cbnjt.cn http://www.morning.rkck.cn.gov.cn.rkck.cn