正则表达式
Posted pulp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
任意一个字符 . 和 重复字符** * **
- 与shell中的通配符 * 不同,正则表达式中的 * 代表:重复前一个字符,0到n次。
- . 代表:一定有字符。
例如,假设我们需要找出g??d 的字符串,即以g字母开头d字母结尾的字符串,我们可以这样做:
[[email protected] ~]# grep -n ‘g..d‘ test.txt
假如我们要找出 至少含有一个字母 o 的字符串,应该怎么做?
[[email protected] ~]# grep -n ‘go*d‘ test.txt
事实上,上面的表达式是没有用的。因为 * 代表重复前一个字符0个到n个,也就是说,它会把所有内容都取出来。这显然不符合我们的意图。正确写法如下:
[[email protected] ~]# grep -n ‘goo*d‘ text.txt
这时,因为 * 号代表将前一个字符重复0个到n个,所以,第一 个字母 o 肯定存在,这样我们就能找出,凡含有,o , oo , ooo , .... 的一系列字符串的行。
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性