• 正则表达式


    正则表达式的特殊符号:

    [:alnum:] 代表英文大写字母和数字

    [:alpah:] 代表英文大小写字母

    [:blank:] 代表空格和TAB

    [:cntrl:] 键盘上的控制按键:EG: CR,LF,TAB,DEL

    [:digit:] 代表数字

    [:graph:] 代表空白符意外的其他

    [:lower:] 小写字母

    [:print:] 可以被打印出来的任何字符

    [:punct:] 代表标点符号

    [:upper:] 代表大写字符

    [:space:] 任何会产生空白的字符如空格,TAB,CR,etc

    [:xdigit:] 代表16进位的数字类型

    shell里查找小写字母:

      $ grep -n '[[:lower:]]' file_name

    蓝色为匹配成功的字符

    由于不同语系的编码数据不同,所以造成不同语系的数据选取结果有所不同。因此要特别留意。

    ======================================================

    grep命令

    参数说明:

    -a 将binary档案以text档案的方式搜寻数据

    -c 计算找到‘搜寻字符串’的次数

    -i 忽略大小写的不同,所以大小写视为相同

    -n 输出行号

    -v 反向选择,即显示出没有‘搜寻字符串’内容的那一行

    =====================================================

    字符组匹配:

    []中包含的任意一个字符(字符串),只能是一个。

    字符组支持连字符-表示一个范围。

    [^...]排除型字符组,排除后面的字符。

    eg:

      $ [^a1<] 排除a,1,<外的其他任意一个字符

    查找字符“oog”,同时不想要字符前有g:

      $ grep -n '[^g]oog' file_name

    =====================================================

    行首行尾的查找:

    '^[A-Z]' 查找行首内容为大写字母的

    '[^A-Z]' 查找行首内容非大写字母的所有字符

    'char$' 以char字母结尾的行

    过滤掉空白行: '^$'

    过滤掉注释行: '^#' (以#号开头)

    ====================================================

    . : 小数点表示任意一个字符

    * : 星号表示重复前面0个或任意多个字符

    eg:

      e* 具有0个或多个e

      ee* 第一个e必须存在,第二个e可以有0个或任意多个

    ====================================================

    限定连续字符范围:

    {}:可限制一个范围区间内的重复字符数,shell中需要用到转义

    查找连续的两个o字符:

      $ grep -n 'o{2}' file_name  查找连续的两个o字符

    {n,m} 找出n到m个前一个字符

    {n,} 找出n个以上的前一个字符

  • 相关阅读:
    jdk环境变量配置
    智商太低,竟然算不出病狗神题了
    HDU 1284 钱币兑换问题 母函数、DP
    linux下实现监控进程网络带宽
    编程算法
    C語言 rand函数 进阶探讨与实现
    JDBCUtil
    iOS进阶路线以及进阶书籍
    Windows平台CUDA开发之前的准备工作
    数据库中substring的用法 CONVERT(varchar(12) , getdate(), 112 )
  • 原文地址:https://www.cnblogs.com/niceforbear/p/4557555.html
Copyright © 2020-2023  润新知