正则


deerchao大佬的正则表达式30分钟入门教程
学习笔记,大佬的这篇文章帮了我很多次

元字符

匹配一个位置
. 匹配除换行符以外任意字符
\w 匹配 字母 数字 下划线 汉字
\s 匹配 空白符
\d 匹配 数字
\b 匹配 正则单词的开始 或 结束
^ 匹配 测试指定的字符串 的开始
$ 匹配 测试指定的字符串 的结束

正则单词 指 不少于一个的连续\w 就是正则单词

字符转义

\ ,用于匹配查找 正则保留字本身

重复

表示将前面的内容重复匹配
* 重复 0 或 多次
+ 重复 1 或 多次
? 重复 0 或 1
{n} 重复 n次
{n,} 重复 n次 或 更多次
{n,m} 重复 n次 到 m次

特定字符匹配

[] 内部列出想匹配每个的字符 或 范围

[aeiou] 匹配 一个a或e或i或o或u
[0-9] 匹配0-9 [A-Z] 匹配A-Z
[a-z0-9A-Z _] 匹配a-z或0-9或A-Z或 或_ 相当于排除了中文的\w

分支条件

| 表示或

0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分隔的电话号码:
一种是3位区号,8位本地号(如010-12345678),
一种是4位区号,7位本地号(0376-2233445)

分组

() 表示子表达式,可用于多次重复子表达式

(\d{1,3}\.){3}\d{1,3}
匹配 (1-3个数字再匹配一个.) 重复三次 再匹配1-3个数字
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
匹配IP地址,每个数字不大于255,包括01.02.03.04

反义

反义就是大写元字符
\W 匹配 不是 字母 数字 下划线 汉字 的字符
\S 匹配 不是 空白符 的字符
\D 匹配 不是 数字 的字符
\B 匹配 不是 正则单词 开头 或 结束 的位置
[^x] 匹配 除 x 以外 的字符
[^aeiou] 匹配 除 aeiou 以外 的字符

<a[^>]+>匹配用尖括号括起来的以a开头的字符串。

后向引用

零宽断言

负向零宽断言

题目

校验密码 8-16位 必须含有大写、小写字母 与一位特殊字符[,._-]

‘(?=.[0-9])(?=.[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,20}$’


文章作者: 罗紫宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 罗紫宇 !
 上一篇
可能是个学习计划 可能是个学习计划
当理想自我和实际自我合二为一时,人们就会失去学习的动力。
2023-03-30
下一篇 
阅读杂记Webpack 阅读杂记Webpack
jS杂记,阅读杂记系列为 【对日常看过的一些有趣帖子的笔记】/【对某一细节进行搜索深入了解后的分析】/【对某一技术原理架构分析后的脑图】,总贴记录 待研究的知识点 及 小知识点,分贴记录大知识点
2023-03-09
  目录