网站首页 > 精选教程 正文
前言:在linux运维中,经常会使用到正则表达式,并且在其它编程如python和很多软件如nginx,也都会使用正则表达式,这是一个另初学者头皮发麻的玩意儿,类似这种东东:curl -s http://mirrors.sohu.com/php/ | egrep -o "[5-9]\.[0-9]\.[0-9]" | sort -ur,在我当年学习过程中,曾一度想略过不学,但发现如果想高效使用linux,这是必须跨越的障碍,而当我逐步由简单到复杂的使用正则后,发现这个玩意儿是如此好用,经常能够成就感满满!!在本系列教程中,我将由浅入深,结合生产实际,尽量用通俗易懂的语言把我的学习心得一一展示,相信认真学完本系列教程,你也将逐步可以得心应手的应用到自己的工作中解决实际问题!
一、正则表达式的作用:在查找过程中按我们的需要找出相应的字符。
例如我们可能会有这样的需求:如在安装mysql数据库的过程中,为了更安全,想把默认的3306端口改成其它如54321端口,我们就需要在mysql的配置文件中查找到3306这个字符串然后替换为54321,此时就可以使用正则去匹配了;
二、正则表达式的使用范围:如linux的vim编辑器;linux的grep、awk、sed命令中;nginx、apache软件中;python编程中等等。
三、正则表达式的2个简单案例:
下面我们使用linux的grep命令进行操作,以便对正则有个基本了解。grep命令的作用是:在文件中查找指定内容,并在屏幕上打印出包含该内容的行。下面请大家使用xshell客户端软件登录centos服务器或虚拟机,跟我一步步操作。
第1个案例:在提示符后输入:grep '^root' /etc/passwd,grep命令在前,把要查找的^root放在单引号中,后接要查找的文件,这条命令的意思是:在/etc/passwd这个文件中查找以root开头的行并打印结果在屏幕上,root是要查找的内容,^就是正则表达式中的一种专用字符,表示 以...开头,这种专用字符给起了个名儿,叫做元字符。
注:/etc/passwd这个文件记录了centos系统中所有的用户基本信息,每个用户对应一行
第2个案例:在提示符后输入:grep 'ro*t' /etc/passwd,这条命令的意思是:在/etc/passwd这个文件中查找包含这样字符的行:以r开头,后跟零个或任意个o,最后字符为t,并打印结果在屏幕上,ro*t是要查找的内容,ro后的*也是正则表达式中的一种元字符,而位于*这个元字符前面1位的o,又起了个名字,称之为前导字符,*这个元字符的作用是:前导字符出现零次或任意多次。
我们看到查找到的结果中,有root和rt,root中的o出现了2次,rt中没o,即o出现了零次;
通过上面2个小案例,给出正则表达式中的2个基本名词:元字符和前导字符,并且认识了2个常用元字符^和*,下一篇我们将全面介绍更多常用元字符,喜欢的朋友请评论转发,也欢迎大家多提意见,共同进步!!
猜你喜欢
- 2024-10-13 nginx入门——预定义变量和自定义变量(五)
- 2024-10-13 让Nginx支持PATH_INFO nginx path
- 2024-10-13 轻松记住各种 正则表达式 正则表达式入门经典
- 2024-10-13 Nginx的rewrite之rewrite指令 nginx rewrite $1
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)