元字符
- “^”:这个会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。
- “$”:这个会匹配行或者字符串的结尾。
- “\b”:不会匹配两边的字符,他会识别是否为单词的边界。
- “\d”:匹配数字
- “\w”:匹配字母数字和下划线
- “\s”:匹配空格
- “.”:匹配除了换行以外的任何字符
反义字符
- “\W”:匹配任意不是字母数字下划线的字符
- “\S”:匹配任意不是空白符的字符
- “\D”:匹配任何非数字
- “\B”:匹配任何非单词开头或结束的位置
- “[^12b]”:匹配任何除12b以外的任意字符
在正则表达式中,默认是贪婪匹配的,那什么是贪婪匹配呢?
var text="aaaaaaaaaaa bat cat aaa apple";
var pattern1=/a*/g;
var matches=pattern1.exec(text);
console.log(matches[0]);//aaaaaaaaaa
var pattern2=/a?/g;
var matches2=pattern2.exec(text);
console.log(matches2[0]);//a
- 贪婪匹配 “*”:重复0次或多次,在我使用
/a*/的时候,匹配出来的就是所有的a - 懒惰匹配 “+”:重复1次或更多次,与贪婪不同的是他至少一次
- 占有匹配 “?”:重复0次或1次,如同上例,只会匹配到一个字符,现实的结果就是a
- “{n}”:重复n次例如从aaaaaa中取俩字符,正则:”/a{2}/”
- “{n,m}”:重复n次到m次:例如”a{1,2}”,匹配的是”a”也可以是”aa”
- “{n,}”:重复n次或者更多次,至少n次
- “*?”:重复任意次,但是尽可能少,例如123123,
"/1.*?3/"只会匹配到第一个123 - “+?”:重复1次或更多次,至少一次
- “??”:重复0次或1次,尽可能少
- “{n,m}?”:重复n~m次,尽可能少重复
- “{n,}?”:重复n次以上,尽可能少
本文详细介绍了正则表达式中的各种元字符及其用法,包括如何匹配字符串的起始和结束位置、单词边界、特定字符等。此外还解释了贪婪匹配与懒惰匹配的区别,并提供了具体的例子。
15万+

被折叠的 条评论
为什么被折叠?



