【玩转正则表达式】正则表达式常用语法汇总

1. 基本字符
  • 普通字符 :匹配自身。例如,正则表达式hello匹配字符串中的"hello"。
  • \d :匹配任何数字字符,相当于[0-9]。例如,\d\d\d匹配三个连续的数字。
    • 示例 :123、456
  • \w :匹配任何字母数字字符(包括下划线),相当于[A-Za-z0-9_]。
    • 示例 :a1b_、Z9x
  • \s :匹配任何空白字符(空格、制表符等),相当于[ \t\n\r\f\v]。
    • 示例 :"Hello, World!\nThis is a test."中的换行符\n
  • . :匹配除换行符\n之外的任何单个字符。
    • 示例 :a.c可以匹配abc、a1c等
2. 元字符
  • ^ :匹配输入字符串的开始位置。
    • 示例 :^hello匹配以"hello"开头的字符串。
  • $ :匹配输入字符串的结束位置。
    • 示例 :world$匹配以"world"结尾的字符串。
  • *****:匹配前面的子表达式零次或多次。
    • 示例 :ab*可以匹配a、ab、abb等。
  • + :匹配前面的子表达式一次或多次。
    • 示例 :ab+可以匹配ab、abb、abbb等,但不匹配a。
  • ? :匹配前面的子表达式零次或一次。
    • 示例 :ab?可以匹配a或ab。
  • {n} :匹配前面的子表达式恰好n次。
    • 示例 :a{3}匹配aaa。
  • {n,} :匹配前面的子表达式至少n次。
    • 示例 :a{2,}匹配aa、aaa、aaaa等。
  • {n,m} :匹配前面的子表达式至少n次,至多m次。
    • 示例 :a{2,4}匹配aa、aaa或aaaa。
3. 方括号表达式
  • abc :匹配方括号内的任一字符。
    • 示例 :[abc]可以匹配a、b或c。
  • \^abc :匹配不在方括号内的任一字符。
    • 示例 :[^abc]可以匹配除a、b、c之外的任何字符。
  • a-z :匹配指定范围内的任一字符。
    • 示例 :[a-z]匹配任何小写字母。
4. 分组和捕获
  • () :用于分组子表达式,并可以捕获匹配的文本。
    • 示例 :(abc)\1匹配abcabc,其中\1表示引用第一个捕获组。
  • | :表示"或"操作。
    • 示例 :a|b匹配a或b。
  • ****:用于转义元字符,使其匹配自身。
    • 示例 :\.匹配句点.字符本身。
5. 非捕获组和前瞻
  • (?:...) :非捕获组,匹配但不捕获文本。
    • 示例 :(?:abc)匹配abc但不捕获。
  • (?=...) :正向前瞻,匹配前面的子表达式,但不包括在结果中。
    • 示例 :foo(?=bar)匹配foo,如果后面跟着bar。
  • (?!..) :负向前瞻,匹配前面的子表达式,如果后面不跟着指定的子表达式。
    • 示例 :foo(?!bar)匹配foo,如果后面不是bar。
6. 边界匹配
  • \b :匹配一个单词边界,即字与空格间的位置。
    • 示例 :\bword\b匹配完整的单词word。
  • \B:匹配非单词边界的位置。
7. 常见示例
  • 匹配数字 :\d+匹配一个或多个连续的数字。
    • 示例 :12345
  • 匹配字母 :\w+匹配一个或多个字母数字字符。
    • 示例 :a1b2c3
  • 匹配邮箱地址 :^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
    • 示例 :example@email.com
  • 匹配URL :^(http|https)://[^\s/$.?#].[^\s]*$
    • 示例 :http://www.example.com
  • 提取手机号码 :\b1[3-9]\d{9}\b
    • 示例 :13812345678
  • 匹配日期格式 :\d{4}-\d{2}-\d{2}
    • 示例 :2023-05-15
相关推荐
Patrick在香港2 天前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
echome8883 天前
Python 正则表达式:5 个日常够用的模式
python·正则表达式
yivifu4 天前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
全栈陈序员5 天前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
BruceXu10 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L12 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆67512 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing0313 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦15 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦17 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算