正则表达式

正则表达式

组成

元字符+普通字符

普通字符

大小写字母、数字、标点符号及一些其他符号

元字符

在正则表达式中具有特殊意义的专用字符

常用的元字符

  • \:转义字符,!、\n等
  • ^:匹配字符串开始的位置
    • 例: a、the、^#
  • $:匹配字符串结束的位置
    • 例: word$
  • .:匹配除\n之外的任意的一个字符
    • 例: go.d、g...d
  • *:匹配前面子表达式0次或者多次
    • 例:goo*d、go.*d
  • list:匹配list列表中的一个字符
    • 例: goolad,abc、a-z、a-z0-9
  • \^list:匹配任意不在list列表中的一个字符
    • 例: ^a-z、^0-9、\^A-Z0-9
  • {n,m}:匹配前面的子表达式n到m次,有{n}、{n,}、{n,m}三种格式
    • 例:go{2}d、go{2,3}d、go{2,}d
    • {n}:匹配前面的子表达式恰好 n 次。
    • {n,}:匹配前面的子表达式至少 n 次,可以无限多次。
    • {n,m}:匹配前面的子表达式至少 n 次,但不超过 m 次。
  • \[:punct:] → 匹配标点符号字符
    • 例如\[:punct:] → :

扩展元字符

  • +:匹配前面子表达式1次以上
    • 例: go+d,将匹配至少一个o
  • ?:匹配前面子表达式0次或者1次
    • 例: go?d,将匹配gd或god
  • ():将括号中的字符串作为一个整体
    • 例:(xyz)+,将匹配 xyz 整体1次以上,如xyzxyz
  • |:以或的方式匹配字条串
    • 例1: good|food,将匹配good或者food
    • 例2: g(oo|la)d,将匹配good或者glad

表示一类字符的原子

  • \d:表示一个十进制的数字 0-9
    \D:表示非数字
  • \w:表示一个字 0-9a-zA-Z_
    \W:表示除0-9a-zA-Z_之外的字符
  • \s:表示一个空白字符(空格,tab,换页符等)
    \S:表示一个非空白字符
  • \i: 表示不区分大小写
相关推荐
小白快快跑哦1 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
MoRanzhi12031 天前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理
临床数据科学和人工智能兴趣组2 天前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
小白快快跑哦3 天前
python-字符串全解(六):正则表达式-前后相断言
开发语言·python·正则表达式·前后相断言
小白快快跑哦4 天前
python-字符串全解(六):正则表达式-修饰符
python·正则表达式·修饰符
11路没有终点5 天前
正则表达式(Regex)通用学习文档
正则表达式
小白快快跑哦5 天前
python-字符串全解(六):正则表达式-分组
python·mysql·正则表达式·分组
临床数据科学和人工智能兴趣组5 天前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
只愿云淡风清6 天前
正则表达式学习笔记-01 正则表达式的来源
笔记·学习·正则表达式
半亩码田6 天前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#