-
普通
let pattern = /^[a-z]+\s[0-9]{4}$/; let str = 'google 2012'; alert(pattern.exec(str)); //返回一个包含字符串的数组 let pattern = /^[a-z]+/; //只匹配到字母 let str = 'google 2012'; alert(pattern.exec(str)); //只返回google的字符串数组 let pattern = /^([a-z]+)\s([0-9]{4})$/; //使用了分组 let str = 'google 2012'; let a = pattern.exec(str); //alert(a.length); //3 alert(a[0]); //a[0],返回匹配到的整个字符串 alert(a[1]); //a[1],返回匹配到的第一个分组的字符串 alert(a[2]); //a[2],返回匹配到的第二个分组的字符串
-
捕获性分组
let pattern = /(\d+)([a-z])/; //这个叫做捕获性分组,所有的分组都捕获返回 let str = '123abc'; let a = pattern.exec(str); //a[0]返回123a //a[1]返回123 //a[2]返回a
-
非捕获性分组
let pattern = /(\d+)(?:[a-z])/; //非捕获性分组,只要在不需要捕获返回的分组加上?: let str = '123abc'; alert(pattern.exec(str));
-
嵌套分组
let pattern = /(a?(b?(c?)))/; //嵌套分组,从外往内获取 let str = 'abc'; alert(pattern.exec(str)); //第一步:a[0],整个匹配到的字符串abc //第二步:a[1],匹配第一个分组(a?(b?(c?))), abc //第三步:a[2],匹配第二个分组(b?(c?), bc //第三步:a[3],匹配第三个分组(c?), c
-
前瞻性捕获
let pattern = /goo(?=gle)/; //goo后面必须是gle才能返回goo,这里一定要注意,返回的是goo,而不是google let str = 'google'; alert(pattern.exec(str)); //返回的是goo,而不是google,这是前瞻性捕获
-
其他
let pattern = /\[/; //用\符号来转义正则里的特殊字符,才能匹配 let str = '['; alert(pattern.test(str)); let pattern = /^\d+/gm; //限定了首匹配,并且开启换行模式 let str = '1.baidu\n2.google\n3.bing'; alert(str.replace(pattern, '#'));
正则表达式04
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、介绍 这节课呢,我们来了解的是JavaScript 正则表达式。主要作用是进行数据的验证,例如手机号码、邮箱、...