正则表达式和通配符的区别

来源:互联网 发布:淘宝货到付款 编辑:程序博客网 时间:2024/05/22 06:27

正则表达式和通配符有许多相似的地方,但它们作用、用法、格式有许多差别。

  • 首先通配符是用来匹配文件名的,而正则表达式是用来匹配文本内容的。而且有许多小的地方不一样:
符号 正则表达式 通配符 * 匹配前面符号任意的字符 匹配零个或多个字符 ? centered 匹配任何单个字符 [a-z] 包含大小写 不包含大小写 .* 任意长度字符 以点号开头的任意字符 \ 转义 - ^ 行首 - $ 行尾 - ~ - 当前用户家目录 . 任意单一字符 普通符号 \<\> 锚定单词左右侧 - \? 匹配其前面字符1或0次 - \+ 匹配其前面字符至少一次 -

以上是符号之间的一些差别

在正则表达式里有个符号叫单词锚定:\<\>,它是用做单词定界的,那怎么区分单词是不是到了边界呢?
规律:除了字母、数字、下划线、汉字(估计这里面不会出现)都可以作为单词的定界,因为前面它们如果和单词写在一块就会成为单词的一部分,所有不能做为单词定界符号。

#取目录名,而\<做为单词词首定界用的挺巧妙[root@centos7init3 app]# echo "/etc/init.d/functions" | grep -o "^/.*\<"/etc/init.d/

小坑:
1. 点号 . 放在[] 里只表示点号,在其他地方要转义
2. grep ‘a\\c’ file #搜索 a\c

原创粉丝点击