正则表达式

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

相关推荐
tianyu2341 天前
Java 正则表达式终极指南:从 Pattern 到 Matcher,从双重转义到性能优化,一篇全搞定
java·开发语言·正则表达式·group·find·pattern·matcher
OPEN-F3 天前
Python进阶教程:正则表达式进阶与文本处理
开发语言·python·正则表达式
小小龙学IT6 天前
C++ 正则表达式完全指南:从 std::regex 实战到 RE2 引擎原理(NFA/DFA/回溯陷阱)
c++·正则表达式
傻啦嘿哟6 天前
猫眼电影TOP100爬虫:Requests+正则表达式实战
爬虫·正则表达式
circuitsosk6 天前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain
Livia要学习6 天前
Python正则表达式
正则表达式
wangchen_08 天前
C++正则表达式
开发语言·c++·正则表达式
Patrick在香港9 天前
Python正则表达式实战:解析和验证香港身份证、车牌、电话格式
开发语言·python·正则表达式
吴声子夜歌11 天前
正则指引——Ruby
开发语言·正则表达式·ruby
吴声子夜歌11 天前
正则指引——Golang
开发语言·golang·正则表达式