正则表达式

1. 正则表达式语法

正则表达式,是由普通字符和特殊字符组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。常见的正则表达式使用字符:

普通字符

  • [ABC] 匹配[...]中的所有字符。如/[aeiou]/g 会匹配出字符串中的所有aeiou字符
  • [ ^ABC] 匹配除[...]中的字符,如/[ ^aeiou]/g
  • [A-Z] 匹配所有大写字母,/[A-Z]/g
  • [a-z] 匹配所有小写字母
  • [\s\S] 匹配所有。\s匹配所有空白符,包括换号。\S匹配所有非空白符
  • \w 匹配所有的字母、数字、下划线,相当于/[A-Za-z0-9_]/g

非打印字符

  • \cx 匹配由Control+x操作,或回车符
  • \f 匹配翻页
  • \n 匹配换号
  • \r 匹配回车
  • \s 匹配所有空白字符,包括空格、制表符、翻页符等,相当于[\f\n\r\v]
  • \S 匹配所有非空白字符
  • \t 匹配制表符
  • \v 匹配垂直制表符

特殊字符

  • $ 字符串末尾
  • () 字符串开始和结束位置(匹配(和)需要使用(、))
    • 匹配0次或多次
    • 匹配一次或多次,至少一次
  • ?匹配0次或一次
  • . 匹配换行符\n之外的所有单个字符
  • [ 匹配一个中括号表达式的开始
  • ^ 匹配字符串的开始位置,如果在方括号中使用,则指的是除这些之外的所有字符
  • | 两项之中选择一个

限定符

    • 0次、一次、或多次
    • 1次或多次
  • ? 0次或一次
  • {n} 匹配连续出现n次,/oo{2}/g,匹配oo连续出现两次的位置
  • {n,} 至少出现n次,/oo{2,}/g,匹配oo至少连续出现2次以上
  • {n,m} 至少出现n次,最多m次

定位符

  • ^ 匹配目标字符串的开始位置
  • $ 目标字符串的尾部
  • \b 匹配字符的边界
  • \B 匹配非字边界。

选择

  • | 用圆括号 () 将所有选择项括起来,相邻的选择项之间用 | 分隔

反向引用

反向引用,是用来匹配识别匹配的内容与第一个分组匹配的内容一致,表达式是 \1

相关推荐
运维小贺3 小时前
Nginx常用的模块
运维·nginx·正则表达式
Viooocc1 天前
正则表达式
正则表达式
vvilkim1 天前
开发中常用的正则表达式规则与应用
正则表达式
林深的林2 天前
正则表达式(1)
正则表达式
ThisIsClark3 天前
【玩转正则表达式】正则表达式常用语法汇总
正则表达式
ThisIsClark3 天前
【玩转正则表达式】替换与正则表达式的结合
正则表达式
浪九天4 天前
Java常用正则表达式(身份证号、邮箱、手机号)格式校验
java·开发语言·正则表达式
ThisIsClark4 天前
【玩转正则表达式】将正则表达式中的分组(group)与替换进行结合使用
数据库·mysql·正则表达式
小张-森林人7 天前
Oracle 字符串分割革命:正则表达式与 Lateral Join 的优雅解法
数据库·oracle·正则表达式
Lojarro7 天前
正则表达式
正则表达式