如何练好正则表达式这个基本功
正则表达式(RegularExpression)就是使用简单的字符按照预先设定的规则来完成复杂的功能,说白了,正则表达式是一种字符串的匹配方式,就是用预先设定好的规则来描述我们想要表达的内容,它是由普通字符以及元字符组成的字符串,其中元字符不表示本身的意义,而是用于表达控制或通配等功能。 为什么要用这个东西那,我想,每一个学习计算机的人都应该明白,计算机就是我们用数字来描述这个现实的世界,而如何使用数字来描述这个现实世界那,就必须用到字符,正则表达式之所以无比重要就是因为可以通过它来找到我们想要的东西,我们知道,对于linux系统管理来说,最重要的工作就是通过修改配置文件来实现系统管理工作的,而面对浩瀚的配置文件,如何能找到我们想要修改的内容那,有了正则表达式,就会大大减轻我们的工作量,下面就让我介绍一下linux文本搜索工具。 Linux下的文本搜索工具主要就三个:grep、egrep、fgrep;这三个工具主要功能就是根据用户指定的文本模式,这个文本模式是由正则表达式元字符以及正常字符组合而成,对目标文件进行逐行搜索,然后显示能匹配到的行。 grep命令使用方法: grep [OPTION]PATTERN [FILE ….] 重要选项介绍: --color:用来指定匹配内容的颜色,主要参数有:auto; always;never; 例如:grep --color=auto “root”/etc/passwd -v :反向显示 -o :只显示能匹配到的内容而不显示能匹配到这一行的其他内容 -i : 搜索时不区分大小写 -E:使用扩展的正则表达式 -A#:被模式匹配到的行的下#行也一起显示 -B#:被模式匹配到的行的前#行也一起显示 -C#:被模式匹配到的行的前后#行也一起显示
以上就是grep命令的常用常见,接下来我们详细介绍grep搜索的模式,也就是正则表达式
* :表示任意长度,0次、1次、或多次 ? :匹配其前面的字符可以1次或0次,也就是说前面字符可有可无 + :1次或多次,表示左侧字符至少出现一次 {n} :n次表示其左侧字符精确出现n次 {m,n} :至少m次,至多n次 {0,n} :至多n次 {m,0} :至多m次
接下来我们详细介绍egrep搜索的模式,也就是扩展正则表达式 egrep命令使用方法: egrep [OPTION]PATTERN [FILE ….]
1字符匹配 . :匹配任意的单个字符 [ ] :匹配指定范围内的任意单个字符 [[:digit:]]或[0-9]:表示0-9范围内任意单个数字 [[:lower:]]或[a-z]:表示a-z范围内任意单个字母 [[:upper:]]或[A-Z]:表示A-Z范围内任意单个字母 [[:alnum:]]或[0-9a-zA-Z]:表示任意大小写字母或数字 [[:alpha:]]或[a-zA-Z]:表示任意大小写字母 [[:space:]]表示任意空格 [^] :表示匹配制定范围外的任意单个字符
* :表示任意长度,0次、1次、或多次 ? :匹配其前面的字符可以1次或0次,也就是说前面字符可有可无 + :1次或多次,表示左侧字符至少出现一次 {n} :n次表示其左侧字符精确出现n次 {m,n} :至少m次,至多n次 {0,n} :至多n次 {m,0} :至多m次
正则表达式现在广泛应用于Unix系统、Linux系统以及PHP、C#、Java等开发环境中,灵活的运用正则表达式可以极大的简化日常工作,就好比每一个成为武林高手所必备的基本功,每一招每一式都需要勤加练习,这样才能做到运用自如。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |