加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

通配符与正则表达式

发布时间:2020-12-13 22:39:26 所属栏目:百科 来源:网络整理
导读:http://www.cnblogs.com/sujz/archive/2011/12/14/2288164.html 通配符与正则表达式很容易混淆,首先要明白二者是不同的,个人感觉通配符用于Linux的shell命令(如文件名相关操作)中,而正则表达式用于文本内容中的字符串搜索和替换等。通配符是Linux系统本

http://www.cnblogs.com/sujz/archive/2011/12/14/2288164.html


通配符与正则表达式很容易混淆,首先要明白二者是不同的,个人感觉通配符用于Linux的shell命令(如文件名相关操作)中,而正则表达式用于文本内容中的字符串搜索和替换等。通配符是Linux系统本身就支持的,而正则表达式用于vim编辑器或awk程序,这些文本处理工具正是由于支持正则表达式才变得强大。

  1. 通配符
  • [a-z]或[12]:匹配方括号中指定范围内的单个字符或方括号列出的其中一个字符。
  • [!9]:不匹配方括号中所列字符或指定范围内的单个字符。
  • *:匹配0个字符或多个字符。
  • ?:匹配任何单个字符,且不能为空字符。
由于shell会将字符?[ ] * 区别对待,因此在命令参数时如果需要用到这几个特殊字符,应将该参数用单引号标注或通过在特殊字符前加转义字符。
  1. 正则表达式
  • .:匹配任何单个字符,功能上和通配符中的?符号相同。
  • [a-z]或[12]:功能上和通配符中的[]相同。
  • [^]:功能和通配符中的[!]相同。
  • *:匹配该字符的前一个字符的0次或多次出现。
  • ^:匹配所有以指定正则表达式开始的行。
  • $:匹配所有以指定正则表达式结束的行。

需要注意的是:[]中的特殊字符如.已经失去了其特殊含义,和方括号中的普通字符[12]一样。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读