正则表达式 理解和简单使用

  正则表达式就像数学中的乘法表一样重要。鸟哥的话,学习方法也和和乘法表一样,需要熟记。因为好多地方都是通用的,这是我自己的理解。暂时先添加一些会的,常用的。后期慢慢补全。

*  :星号,表示可以0个数或多个数,0个或者多个在星号前面的那个数。例如  9*  ,表示,有0个9或者许多个9.

.  :点号,在正则表达式中表示任意字符,但是一个点只占一位,多了需要自己添加。可与 * 一起使用 ,例如 .* 这个表示没有任意字符或者多个任意字符。

 

^  :这个符号没有名字(有哪位大牛知道了可以告诉我一下 O(∩_∩)O),在【】外面表示匹配行首的字符,如 ^u 表示匹配 以u为首字母的行。在【】里面表示反向选择,如

  【^a-z】表示 匹配非小写字母。

$ :这个和上面的想反,匹配行尾,位置与上面也相反,在所要匹配字符的后面,如 u$ 。

上面两个有个特殊一点的例子:要匹配文档中的空行怎么使用?,假设文档为a.txt。

那就使用grep 了。  grep -n ^$ a.txt    本来就是输出空行,没有意义,所以加上 -n 输出一下行号。

 

\ :这个叫跳脱字符,就是取消符号的特殊意义的作用。如点号 /. 就是让点号只表示一个点。\{\} 也是让这两大括号仅表示大括号。

{}:这个表示范围,例如 r\{4\} 表示 匹配4个r相连的 字符串。r\{4,8\} 范围变成4-8个。如果逗号后没数字,r\{4,\} 这就表示4个以上的r,可以等同于rrrrr* 。

posted @ 2018-06-14 19:56  风风羊  阅读(153)  评论(0编辑  收藏  举报