导图社区 正则表达式总结
必看!一张图带您了解正则表达式的内容,其中包含的内容有用途、选项、模式、元字符、位置边界、分组表达式、常用的表达式等重点内容,快快收藏下图学习起来吧!
编辑于2019-07-26 05:34:11程序猿知识技能总结大全,java、python、正则表达式、Linux等多方面知识导图
包含抖音运营、短视频运营要点、运营之光、从零开始做运营、学会写作等多个运营读书笔记、运营知识框架等
产品、运营工具包大全:办公工具、文字工具、音频工具、视频工具、社群工具、公众号辅助工具、排版工具、图片工具、H5工具、小程序工具等
项目管理流程竖版思维导图、从需求收集、需求评审、规划阶段、再到方案实现阶段、测试阶段、至最后的上线阶段,详细描述每个阶段的工作内容
产品需求文档(PRD)是确保团队理解项目需求和目标的关键文档。在撰写PRD时,要明确项目背景、需求类型,遵循有理有据、全面清晰、易读的写作原则。选择适当的工具如Axure或Word,包括文档修改记录、项目背景、名词解释、流程图、需求说明等内容。使用原型工具结合需求,提供清晰的视觉参考。详细描述每个功能点,包括权限、规则逻辑、极值、交互等。使用标点符号、示例、标记重要内容,提高文档可读性。最终,根据项目需求决定是否包含额外的内容,以确保PRD有效指导项目开发。
系统集成项目管理工程师-十大管理输入、输出、工具总结,软考必备复习导图
社区模板帮助中心,点此进入>>
程序猿知识技能总结大全,java、python、正则表达式、Linux等多方面知识导图
包含抖音运营、短视频运营要点、运营之光、从零开始做运营、学会写作等多个运营读书笔记、运营知识框架等
产品、运营工具包大全:办公工具、文字工具、音频工具、视频工具、社群工具、公众号辅助工具、排版工具、图片工具、H5工具、小程序工具等
项目管理流程竖版思维导图、从需求收集、需求评审、规划阶段、再到方案实现阶段、测试阶段、至最后的上线阶段,详细描述每个阶段的工作内容
产品需求文档(PRD)是确保团队理解项目需求和目标的关键文档。在撰写PRD时,要明确项目背景、需求类型,遵循有理有据、全面清晰、易读的写作原则。选择适当的工具如Axure或Word,包括文档修改记录、项目背景、名词解释、流程图、需求说明等内容。使用原型工具结合需求,提供清晰的视觉参考。详细描述每个功能点,包括权限、规则逻辑、极值、交互等。使用标点符号、示例、标记重要内容,提高文档可读性。最终,根据项目需求决定是否包含额外的内容,以确保PRD有效指导项目开发。
系统集成项目管理工程师-十大管理输入、输出、工具总结,软考必备复习导图
正则表达式总结
用途
匹配
判断给定的字符串是否与特定正则表达式相匹配,常用函数为isMatch,或者Match,返回值通常为False或者True
获取匹配的内容
使用正则表达式搜索指定的字符串,将符合条件的全部内容都提取出来。通常使用Matches函数,返回值为数组,每个项目就是满足正则表达式的文本内容;
替换
使用正则表达式搜索指定的字符串,将符合条件的内容替换为特定的字符串。通常使用Replace或者ReplaceAll函数。
拆分字符串
选项
是否忽略大小写
Case-insensitive匹配时不区分大小写。
多行模式
Multiline mode更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的精确含意是:匹配\n之前的位置以及字符串结束前的位置.)
单行模式
Single-line mode更改.的含义,使它与每一个字符匹配(包括换行符\n)。
忽略空白字符
Ignore white space忽略表达式中的非转义空白并启用由#标记的注释。
清晰的
Explicit (named)仅捕获已被显式命名的组。
模式
贪婪模式
尽可能的从文本的开头到结尾
懒惰模式
与贪婪型相反,需要增加?,代表找到第一满足条件的即可。
常用表达式
手机号码
固定电话
0\d{2}-\d{8}|0\d{3}-\d{7}|\(?0\d{2}[) -]?\d{8}
电子邮件
^([a-z0-9]*[-_]?[a-z0-9]+)@([a-z0-9]+\.)?([a-z0-9]*[-_]?[a-z0-9]+)[\.][a-z]{2,3}([\.][a-z]{2})?$
日期
IP地址
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
URL地址
身份证号码
密码
地址
邮编
汉字
[\u2E80-\u9FFF]+
参考资料
.net:Regular expressions quick reference
正则表达式必知必会.pdf
[精通正则表达式(第三版)].(美)佛瑞德.扫描版.pdf
.NET正则基础之——.NET正则匹配模式
正则表达式30分钟入门教程
c#正则blog
c#常用正则表达式
split方法,与正则表达式
元字符
元字符是一些在正则表达式中有特殊含义的字符
通用字符
数字(digit)
\d
匹配一个十进制的数字,等价与[0-9]
\D
匹配一个非(十进制的数字),等价与[^0-9]
字符(word)
\w
匹配一个(字母或数字或下划线),等价于[a-zA-Z0-9_]
\W
匹配一个非(字母或数字或下划线),等价于[^a-zA-Z0-9_]
空白(space)
\s
匹配任意一个空白字符,等价于[\f\r\n\t\v]
\S
匹配任意一个非空白字符,等价于[^\f\r\n\t\v]
\为转义符
\t
\r
\n
\v
\b
\e
ASCII转义符号
\f
Form feed
\a
Bell (alarm)
\c
ASCII控制符号
其他
非ASCII值字符
\o
\x
\u
匹配4个16进制的Unicode
匹配集合中的某个字符
[a-z]
匹配全部小写字符的集合(a,b,c…………x,y,z)中的任何1个
[A-Z]
匹配全部大写字符的集合(A,B,C…………X,Y,Z)中的任何1个
[0-9]
匹配全部数字集合(0,1,2,3,4,5,6,7,8,9,0)中的任何1个,等价于\d,等价于[0123456789]
非数字
[^0-9],等价于\D
其他集合
例如[02468],代表只匹配集合(0,2,4,6,8)中任何一个字符;符号|相当于或者的意思。
^
匹配除去集合内部的字符的全部字符
-
在集合中才有意义,在[]之外使用,只能是普通字符
重复匹配
*
没有上限
+
?
精确
{n}
{n,}
{n,m}
配合?使用懒惰模式
位置边界
字符串
^
\A
字符串开头(类似^,但不受处理多行选项的影响)
\Z
字符串结尾或行尾(不受处理多行选项的影响)
$
\z
字符串结尾(类似$,但不受处理多行选项的影响)
单词
\b
\B
零宽断言
正向前查找
向前查找指定了一个必须匹配但不在结果中返回的模式;可以使用.和+的元字符,长度可变;匹配exp前面的位置
正向后查找
匹配exp后面的位置只能是固定长度
负向前查找
匹配后面跟的不是exp的位置
负向后查找
(?<!exp)匹配前面不是exp的位置
分组子表达式
子表达式是更大表达式的一个部分分析子表达式时,应该从内到外进行;
允许多层嵌套
回溯引用
使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。不同的语言使用方法可能不一样可以跨模式使用
.net
例子
\b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, 或者kitty kitty。
捕获
(exp)
(exp)匹配exp,并捕获文本到自动命名的组里
可以命名的
(?<name>exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
(?:exp)
匹配exp,不捕获匹配的文本,也不给此分组分配组号
(?#comment)注释
前后查找
(?>exp)
条件表达式
不是所有的开发语言都支持这个特性
.net
(?(exp)yes | no)
其他
匹配纯文本
字符点(.)
可以匹配任意一个单个的字符、字母、数字、包括.本身(除去换行符号);匹配.本身时,使用转义符\
原子
打印字符
非打印字符
内联模式
必须放在正则表达式的最前面
i
m
n
s
x
定界符
除了字母、数字、正斜线以外的任何字符,一般用//表示
|