正则表达式

Posted pulp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

任意一个字符 . 和 重复字符** * **

  1. 与shell中的通配符 * 不同,正则表达式中的 * 代表:重复前一个字符,0到n次。
  2. . 代表:一定有字符。
    例如,假设我们需要找出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 , .... 的一系列字符串的行。


以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

正则表达式的贪婪和非贪婪模式