zoukankan      html  css  js  c++  java
  • 正则表达式

    正则表达式的特殊符号:

    [: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个以上的前一个字符

  • 相关阅读:
    程序员追求的是什么?
    jQuery弹出层始终垂直居中,相对于屏幕,相对于当前窗口
    在VMware上制作一个简单的Linux
    Nginx 反向代理+Varnish 技术
    在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题...
    phpStudy本地环境测试,打开网页很慢的解决办法!
    windows上安装redis并安装php5.6的redis扩展
    Redis 安装
    redis 查看的版本
    who is 规格严格
  • 原文地址:https://www.cnblogs.com/niceforbear/p/4557555.html
Copyright © 2011-2022 走看看