资讯专栏INFORMATION COLUMN

Linux正则表达式总结

IT那活儿 / 1126人阅读
Linux正则表达式总结

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!



使用背景
正则表达式有很多应用场景,例如查找所有包含“linux”的行,取出以“abc”开头的所有单词匹配密码、qq号、身份证号等。
使用正则表达式的目标就是查找、取出、匹配符合条件的某个字符或字符串。

正则表达式的组成
为了测试方便,我们新建一个测试文件如下:

1. 边界字符

1) ^ 表示首字符
例如 ^aa 表示以aa开头。
2)$ 表示尾字符
例如 aa$ 表示以aa结尾。
注意:^$表示空行。

2. 匹配单个字符

1)特定字符
指某个具体的字符,例如匹配字符‘b’
2)范围内字符
[] 表示在范围内的单个字符。
例如数字字符[0-9],[123],字母字符[a-z],[A-Z]等。
[^] 表示反向字符。
例如[^0-9]表示非0-9的字符,[^0]表示0以外的字符。
注意与 ^ 的区别,^ 表示边界字符的首字符。
3)任意字符
匹配任意一个字符。

3. 匹配重复字符

1)* 表示匹配零次或任意多次
注意,“ . ” “ *  匹配任意字符串。
2)  表示匹配零次或一次
3) +  表示匹配一次或多次
4){n,m} 表示匹配n次至m次

4. 元字符

元字符表示普通字符或特殊字符,常用如下:
1) 单词分隔,指匹配单词和空格间的位置
2)w 匹配任何字类字符,等于[a-zA-Z0-9_]
W 匹配任何非字类字符,等于[^a-zA-Z0-9_]。
3) d 匹配一个数字字符,等于 [0-9]
D 匹配一个非数字字符,等于 [^0-9]。



总结
正则很无情,总是尽可能把所有能匹配的字符都匹配出来;
正则很大度,它遵循贪婪原则,总是尽可能最大化匹配最长字符;
最后别忘了转义字符“”,在使用特殊字符时需要转义处理。

 




END



  



本文作者:孙涛涛

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129528.html

相关文章

  • 看完这篇Linux基本的操作就会了

    摘要:前言只有光头才能变强这个学期开了的课程了,授课的老师也是比较负责任的一位。开源,可被定制,开放,多用户的网络操作系统。三常用的命令上面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会遇到一些比较重要的知识点的。 前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要...

    AZmake 评论0 收藏0
  • PHP小知识点

    摘要:那些琐碎的知识点作者记录的的很奇特很难记的知识点。易错知识点整理注意和的区别中和都是输出的作用,但是两者之间还是有细微的差别。今天手头不忙,总结一下,分享过程中掌握的知识点。 深入理解 PHP 之:Nginx 与 FPM 的工作机制 这篇文章从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的。 PHP 那些琐碎的知识...

    hover_lew 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<