ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell编程——正则表达式

2022-05-06 19:03:23  阅读:198  来源: 互联网

标签:字符 digit shell 匹配 正则表达式 编程 锚定 alnum


正则表达式

  • 用一个“字符串公式”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征

shell与正则表达式

以下命令支持正则表达式

locate

sed

find

grep

vim

awk

正则表达式字符类型

  • 元字符
    • 定位符
    • 匹配符
    • 限定符
  • POSIX字符

元字符符号

  1. 定位符

    定位符 说明
    ^ 锚定开头^a以a开头,默认锚定一个字符
    $ 锚定结尾a$ 以a结尾 默认锚定一个字符
    \b 锚定单词的开头或者结尾

    窍门: 同时使用^ 和 $ 是精确匹配

  2. 匹配符

    匹配符 说明
    . 匹配除回车以外的任意一个字符
    () 字符串分组
    [] 定义字符类,匹配括号中的一个字符(可以指定范围,例如[a-z])
    [^] 表示否定括号中出现字符类中的字符,取反
    \ 转义字符
    |
    \d 匹配一个0-9数字
    \D 匹配一个非数字字符
    \w 匹配字母或数字下划线
    \s 匹配任意的空白符
  3. 限定符

    限定符 说明
    * 某个字符之后加型号表示该字符不出现或出现多次 a(ab)
    ? 与星号相似,表示不出现或出现一次
    + 与星号相似,表示其前面的字符出现一次或多次,但必须出现一次
    {n,m} 某个字符之后出现,表示该字符最少n次,最多m次
    {m} 正好出现了m次

POSIX符号

特殊字符 说明
[:alnum:] 匹配任意字母字符0-9 a-z A-Z
[:alpha:] 匹配任意字母,大写或小写
[:digic:] 数字0-9
[:graph:] 非空字符(非空格控制字符)
[:lower:] 小写字符A-Z
[:upper:] 大写字符A-Z
[:cntrl:] 控制字符
[:print:] 非空字符(包括字符)
[:punct:] 标点符号
[:blank:] 空格和TAB字符
[:xdigit:] 16进制数字
[:space:] 所有空白字符(新行、空格、制表符)

Q

  1. IP匹配

    egrep "^((25[0-5]|2[0-4][[:digit:]]|1?[[:digit:]][[:digit:]]?)\.){3}(25[0-5]|2[0-4][[:digit:]]|1?[[:digit:]][[:digit:]]?)$" ipList
    

email匹配

egrep "^((([[:alnum:]]|[-]|[_])+)@)((([[:alnum:]]|[-]|[_])+)\.)+([[:alpha:]]+)$" emailList

image

标签:字符,digit,shell,匹配,正则表达式,编程,锚定,alnum
来源: https://www.cnblogs.com/yinmy/p/16229993.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有