前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式

正则表达式

作者头像
shimeath
发布2022-05-05 15:17:39
2880
发布2022-05-05 15:17:39
举报

正则表达式语法

普通字符

没有特殊限定的时候匹配一个相同的字符

简单转义字符

\n

换行符

\t

制表符

\字符

字符本身

标准字符集合

能够与多种字符匹配的表达式

区分大小写,大写取反

\d

0~9中任一字符

\w

字母数字下划线,A~Z,a~z,0~9,_

\s

空格、制表符、换行符等任一空白符

.

任何一个字符

自定义字符集合

[]匹配方式,匹配方括号中的任一字符

[ab5@]

匹配"a"、"b"、"5"或"@"

[^abc]

匹配"a"、"b"、"c"以外的任一字符

[f-k]

匹配"f"~"k"中的任一字符

[^A-F0-3]

匹配"A"~"F"、"0"~"3"以外的任一字符

特殊符号,被包含到中括号中,失去特殊意义,除"^"和"-"以外

标准字符集,除小数点外,如果被包含于中括号,自定义字符集包含该集合。如:

  • [\d.\-+]将匹配:数字、小数点、"-" 、"+"
量词

修饰匹配次数的特殊符号

{n}

表达式重复n次

{n,m}

表达式至少n次,至多m次

{n,}

表达式至少n次

?

匹配0或1次

+

至少1次

*

0次到任意次

匹配次数中的贪婪模式(匹配字符越多与好,默认)

匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后面加"?",例:"\d?")

字符边界

字符所处的位置,零宽(不占位)

^

字符串开始

$

字符串结束

\b

单词边界(前面和后面的字符不全是\w)

正则表达式匹配模式

IGNORECASE忽略大小写模式

  • 匹配时忽略大小写
  • 默认情况下,区分大小写

SINGLELINE单行模式

  • 整个文本看作一个字符串
  • 小数点“.”可匹配任一字符,包含“\n”

MULTILINE多行模式

  • 每行都是一个字符串,都有开头和结尾
  • 匹配开始\A,匹配结束\Z
选择符和分组

|

分支结构,表示“或”的关系

()

捕获组:1、括号中的作为整体2、取结果时,括号中的内容可以单独得到3、从左括号开始编号,第一个“(”是1,0为整个表达式

(?:expression)

非捕获组,不保存()中的信息,节省内存开支

反向引用(\nnn)

  • 通过反向引用可以对分组已捕获的字符串进行引用
预搜索(零宽断言、环视)

对子表达式匹配,匹配内容不计入匹配结果,零宽

(?=exp)

后面能匹配表达式exp

(?<=exp)

前面能匹配表达式exp

(?!exp)

后面不能匹配表达式exp

(?<!exp)

前面不能匹配表达式exp

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正则表达式语法
    • 普通字符
      • 简单转义字符
        • 标准字符集合
          • 自定义字符集合
            • 量词
              • 字符边界
                • 正则表达式匹配模式
                  • 选择符和分组
                    • 预搜索(零宽断言、环视)
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档