正则表达式(RE,Regular Expression)

正则表达式(RE,Regular Expression)

正则表达式是一种表达式语法,借助状态机,实现字符串的匹配,以及相关处理
可以这么说:正则表达式表示一类字符串,是有相同规律字符串的集合(语法严格的话,则是代表一个字符串) ,我们称这种规律为模式

正则表达式符合编译原理所说的正规文法,是正规文法的构造式

RE特点

  • 简洁
  • 特征

RE的使用场景(字符串匹配的引用场景)

表达文本类型的特征(病毒,入侵等)
同时查找和替换一组字符串
匹配字符串的全部或部分
etc.

RE的语法

掌握RE的使用,高效处理字符串的必备技能

RE语法由 字符,操作符构成

字符:所需操做的字符,数据流
操作符:对字符出现模式的说明,指令流

常用操作符

操作符 说明
单字符匹配
. 表示一个字符,任一个字符
[ ] 表示一个字符,范围类的任一个字符
\d [0-9]
\w [A-Za-z]
[^ ] []同上,^表示取反
多字符匹配
^ 匹配字符串开头,多个字符
$ 匹配字符串结尾,多个字符
abc|edf 只能为abc,或者为edf
() ()内是一个整体,分组
* 前一个字符的0次或无限次扩展
前一个字符的0次或一次扩展
+ 前一个字符的1次或无限次扩展
{m} 前一个字符的m次扩展
{m,n} 前一个字符的【m,n】扩展

常用的正则表达式实例

RE 含义
^[A-Za-z]+$ 26个字母组成的字符串
^[A-Za-z0-9]+$ 26个字母和数字组成的字符串
^[0-9]*[1-9][0-9]*+$ 正整数形式的字符串
^-?\d+$ 整数形式字符串
[1-9]{5} 中国境内邮政编码
[\u4e00-\u9fa5] 匹配utf-8的中国汉字
\d{3}-\d{8}|\d{4}-\d{7} 国内电话号码

匹配IPv4地址
思路:0-99:[1-9]?\d
100-199:1[0-9][0-9]----1\d{2}
200-249:2[0-5]\d
250-255:25[0-5]
IP: (([1-9?\d])|1\d{2}|2[0-5]\d|25[0-5]).){3}([1-9?\d])|1\d{2}|2[0-5]\d|25[0-5])

发布了17 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/TowerOs/article/details/103967468
今日推荐