正则表达式

1. 正则表达式语法

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

普通字符

  • ABC\] 匹配\[...\]中的所有字符。如/\[aeiou\]/g 会匹配出字符串中的所有aeiou字符

  • A-Z\] 匹配所有大写字母,/\[A-Z\]/g

  • \\s\\S\] 匹配所有。\\s匹配所有空白符,包括换号。\\S匹配所有非空白符

非打印字符

  • \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

相关推荐
XMYX-02 天前
33 - Go 文本模板 template:从入门到原理深挖
golang·正则表达式
XMYX-02 天前
32 - Go 正则表达式:从匹配字符串到理解 RE2 引擎
golang·正则表达式
程序员榴莲3 天前
Python 正则表达式入门:从匹配手机号到提取文本内容
python·正则表达式
红茶要加冰5 天前
七、正则表达式
linux·运维·正则表达式·shell
Pocker_Spades_A5 天前
Python快速入门专业版(五十八)——正则表达式(re):爬虫文本提取利器(从语法到实战)
爬虫·python·正则表达式
红茶要加冰5 天前
九、文本处理三剑客——sed
linux·运维·服务器·正则表达式·shell
Bug-制造者6 天前
正则表达式 vs Shell通配符:彻底分清,告别命令行踩坑
linux·正则表达式
剑神一笑7 天前
Linux top 命令深度解析:进程监控的性能优化实战
linux·运维·正则表达式
jayson.h7 天前
正则表达式:从文件名提取器件编号
开发语言·python·正则表达式
水木流年追梦8 天前
大模型入门-应用篇3-Agent智能体
开发语言·python·算法·leetcode·正则表达式