一个正则表达式规则参数的备忘,入门,都是基础的一些写法。
- c{n} ------------- n个连续的c字符
- c{m,n} ------------- m个到n个c,且m小于等n
- c{n,} ------------ 至少n个c字符
- * ------------- 表示0个或者多个,等同于{0,}
- + -------------- 表示1个或者多个,等同于{1,}
- ? -------------- 表示0个或者1个,等同于{0,1}
- ^ -------------- 字符串开头
- $ -------------- 字符串结尾
- . -------------- 匹配字符串中除\n之外的所有字符
- | --------------- 左右分割的字符2选1
- [] ---------------- 中间包含的表示一个集合,写全或者[a-z][A-Z][0-9] 这种写法
- [^] ----------------中括号里面的^符号,表示的所匹配的字符不在这个集合中正好和上面那个相反
- \b ----------------表示边界的意思,字符的开头或者结尾
- \B ----------------表示非边界的意思,字符串中间
- \d -------数字 \D -------- 非数字
- \w -------单词字符等同于[a-zA-Z0-9_] \W ----------非单词字符等同于[^a-zA-Z0-9_]
- (子正则表达式)\1 ------------反向引用,\1表示第1个子正则表达式匹配出来的字符串
空白匹配
- \f ----------------------- 匹配换页符
- \n ----------------------- 匹配换行符
- \r ----------------------- 匹配回车符
- \t -----------------------匹配制表符
- \v -----------------------匹配垂直制表符
- \s ----------------------匹配单个空格 等同于[\f\n\r\t\v]
一些TIP
- 正则默认是贪心模式,如果想尽量少的匹配字符,可以在表示数字的符号后面加上一个?
- 如果不记录子正则表达式的匹配结果(?:pattern)的正则就可以避免保存括号内的匹配结果,同样的反向引用也会失效
- 正向预查 (?=pattern) 表示括号钱匹配的内容必须符合后面紧跟?=之后pattern所匹配的内容 (?!pattern) 正好相反,后面不能紧跟pattern所匹配的内容
- (?<=pattern) 表示前面必须有 (?
- 要匹配正则的元字符,在前面加上\
修饰符
- /pattern/g --------------- 全局匹配
- /pattern/i --------------- 不却分大小写
- /pattern/m --------------- 改变^$的意义 表示行首,行尾
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于