正则匹配,有很高挑战性的思维项目。
     最近用得蛮多,有一些自己运用正则匹配的思索,记录下来,供以后重温。
     下面是要用到的截图,如下:

    

有关正则匹配简单运用的一些理解1_第1张图片

   开始第一个问题:

   1.匹配带有后缀名的。

    这个简单,带有后缀名,其实就是文件名有一个".",匹配这个点就可以。命令:

   ls |grep "\."

    测试OK。

   2.匹配没有后缀名的。和上面对立,不匹配"."。简单点命令:

   ls |grep -v “\."

    测试OK。

   3.匹配后缀名是两个字符的。正则写"\.[a-z0-9]\{2\}",命令:

   ls |grep "\.[a-z0-9]\{2\}"

    测试结果如图:

有关正则匹配简单运用的一些理解1_第2张图片

   很明显,不仅后缀名两个字符的出现了,三个四个字符的也出现了。

   反思为什么都出现了呢?

   对比下写的正则:[a-z0-9]\{2\}。

   这条正则的意义是:匹配字符或者数字两个。想想,后缀名3个或者4个的它都符合

   匹配字符或者数字两个的正则。那如何只精确匹配两个字符呢?

   引入:$。说明:$在正则里是指结尾。

   命令改下如下:

   ls |grep "\.[a-z0-9]\{2\}$"

   测试OK.

   4.匹配前缀名3个字符的,后缀名3个字符的。命令如下:

   ls |grep "^[a-z0-9]\{3\}\.[a-z0-9]\{3\}$"

   注意  ^ 和 $。

   

   总结:匹配精确个数的情况下,可以引入^和$符号都精确定位。