前言
正则表达式是javascript非常重要和常用的功能,在jquery等大型框架中用的非常频繁,最近抽时间学习了解了相关知识,记录下来与需要的朋友分享。
思维导图
RegExp(正则表达式)的创建方式
可以通过两种方式创建一个RegExp,具体如下:
通过/…./的方式来创建正则表达式(注意: /……/两边是没有单引号或双引号的)
通过RegExp构造方法来创建一正则表达式
为了更好的描述模式,正则表达式提供了3个标识,分别是: g/i/m
g: 全局匹配:在整个字符串中匹配,而不是在第一次匹配后之后停止
i: 忽略大小写匹配
m: 对多行字符串中的每一行,应用行首和行末的特殊字符(分别是^和$)
具体看参照下面代码加深理解:
var regx = new RegExp('are','g'); var regx1 = /are/g; //常用的创建方式
RegExp实例的主要属性
根据RegExp的构造函数,我们大概也能猜到RegExp的主要属性,关于实例属性,了解下就可以了。但有一点要注意:这些实例属性是不能通过for in进行遍历获取的。
可参照下面代码加深理解:
var regx1 = /are/g; //常用的创建方式 console.log("source:"+regx.source +" global:"+regx.global+" ignoreCase:"+regx.ignoreCase +" multiline:"+regx.multiline); // source:are global:true ignoreCase:false multiline:false for(var p in regx) { //不会进入该for循环 if(regx.hasOwnProperty(p)) { console.log(regx[p]); } }
RegExp实例的主要方法 - test
根据该方法非常简单,只有一个参数,常用来验证输入的参数与正则表达式模式是否匹配,如果匹配返回true,否则返回false. 可参照下面代码加深理解:
var regx1 = /are/g; var res = regx.test('you are a good boy!'); console.log(res) ; //true var res1 = regx.test('I am a good boy!'); console.log(res1) ; //false
RegExp实例的主要方法 - exec
法该方法是一个非常常用的方法,需要好好理解。它只接收一个参数,即要匹配的字符串,返回值却是一个数组arr,数组里存储的是第一个匹配项的相关信息,包括:
input: 要匹配的字符串,exec方法的输入值
index:匹配性在字符串中的位置
arr[0]: 模式匹配的字符串
arr[1]…arr[n]: 第n个捕获组字符串
使用该方法时要注意:如果在正则表达式中未指定全局标志g,则每次执行始终返回的都是第一个匹配项,如果设置了全局标志g,每次调用exec,则会在字符串中继续查找新匹配项
可参照下面代码加深理解:
var regx = /fn:(\w+)\s+ln:(\w+)\s/g; var s ="your fn:xiaoxin ln:tang right"; var result = regx.exec(s); console.log(result.input); //your fn:xiaoxin ln:tang right"htmlcode">var regx = /fn:(\w+)\s+ln:(\w+)\s/g; var s ="your fn:xiaoxin ln:tang right"; var result = regx.exec(s); console.log(RegExp.input); //your fn:xiaoxin ln:tang right"htmlcode">var s = 'I am a good boy,you are also a good boy !'; var regx = /good.*boy/g; //贪婪匹配 console.log(regx.exec(s)[0]); //good boy,you are also a good boy var regx1 = /good.*"_blank" href="https://www.jb51.net/article/73290.htm">javascript正则表达式和字符串RegExp and String(二)希望大家喜欢。无为清净楼资源网 Design By www.qnjia.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]
- P1X3L《P1X3L》[320K/MP3][143MB]
- 群星.2022-良辰好景知几何电视剧原声带【SONY】【FLAC分轨】
- 庾澄庆.1991-管不住自己【福茂】【WAV+CUE】
- 欧倩怡.2001-Cindy(EP)【华星】【WAV+CUE】
- P1X3L《P1X3L》[FLAC/分轨][791.28MB]
- 茵达INDAHKUS《茵 the Blue》[320K/MP3][33.49MB]
- 茵达INDAHKUS《茵 the Blue》[FLAC/分轨][147.57MB]
- 老虎鱼AnneClarkwithUllavanDaelenJustinCiuche-Borderland-HiRes-Files24bit88.2kHz
- 江玲2004-百合盛开2CD[歌林][WAV+CUE]
- 孙露《怕什么孤单3CD》深圳音像[WAV分轨]
- s14全球总决赛目前是什么结果 s14全球总决赛赛程结果图一览
- s2TPA夺冠五人名单都有谁 tpa战队s2夺冠队员名单一览