js正则表达式
正则表达式
- 什么是正则表达式?
- 正则表达式是对字符串操作的一种逻辑公式
- 正则表达式就是通过具有特定规则的模式,与输入的
- 字符串信息进行比较,分割,查找,替换等操作
- 为什么要使用正则?
- 给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
- 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
- 可以通过正则表达式,从字符串中获取我们想要的特定部分。
- 正则表达式的特点是:
- 灵活性、逻辑性和功能性非常强;
- 可以迅速地用极简单的方式达到字符串的复杂控制。
- 对于刚接触的人来说,比较晦涩难懂。
- 正则表达式可以做什么??
- 操作字符串是正则表达式的唯一作用
- 验证用户名长度和用户名格式是否合法
- 验证密码是否符合标准
- 验证邮箱是否符合标准格式
- 验证手机号码是否满足条件
- 验证url地址
- 正则表达式的组成:
- 原子
- 元字符
- 普通转义符
- 模式修正符
- 通用字符类型 \d 表示匹配任意数字 \D 非任意数字(上边的反义) \w 匹配任意一个数字,字母,下划线 \W 匹配非数字字母下划线 \s 匹配任意一个非打印字符 \S 匹配任意一个打印字符
- 元字符
- [] 表示单个字符的原子表
- [0123456789] 表示任意一个数字
- [0-9]表示任意一个数字
- [a-z] 表示a-z的任意一个小写字母
- [A-Z] 表示A-Z的任意一个大写字母
- [^] 表示除了括号中的原子以外的任意字符
- [^]取反的意思中括号以外的所有字符都可以
- {} 大括号里边的值表示的是前边原子的数量控制
- {m} 表示对前边原子数量的控制 表示的是允许出现m次
- {m,} 表示前边原子出现至少m次
- {m,n} 表示前边原子可以出现m-n次
- 正则表达式中的特殊字符
- . 匹配除了换行符以外的所有字符
-
- 表示对前边原子数量的控制,表示任意次 等价于 {0,}
-
- 表示对前边原子数量的控制,表示至少1次 等价于{1,}
- ? 表示对前边原子数量的控制,表示0次或1次(可有可无) 等价于{0,1}
常用的组合:
- .*? 或者是 .+? 拒绝贪婪模式
- ^ ^[] 必须以什么开头
- $ []$ 必须以什么结尾