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

    Regular Express:正则表达式

      使用"一串符号"来描述有共同属性的数据

    grep命令行简介

    类型         注释
    grep     标准grep命令,支持基本正则表达式
    egrep    扩展grep命令,支持基本和扩展正则表达式
    fgrep    快速grep命令,不支持正则表达式,按照字符串的字面意思进行匹配

    grep处理数据顺序

    以行为处理单位
    对数据进行逐行处理,处理完当前行自动处理下一行,自动处理完所有的行为
    默认输出有与正则表达式匹配数据的行,到屏幕上
    不加选项,按默认方式处理数据
    处理完当前行后,自动处理下一行,直到末行

    egrep文本过滤

    egrep  [选项] '正则表达式' 文件
    前置命令 | egrep [选项] '正则表达式'
    egrep等于 grep -E。表示允许使用扩展的正则表达式

    常用的命令选项:

    参数选项    注释
    -i      忽略字母大小写
    -v      条件取反
    -c      统计匹配的行数
    -q      静默、无任何输出,一般用于检测;看$?返回值,如果为0,说明有匹配,否则无匹配
    -n      显示出匹配结果所在的行数
    --color  标红显示匹配字串

    基本元字符

    类型          含义        举例        说明
    ^          匹配行首        ^abc      以abc开头
                        ^#        以#号开头的行(比如注释行)
    $          匹配行尾        abc$      以abc结尾的行
                        ^$        空行
    .           匹配单个字符       .       除换行符(
    )以外的任意单个字符
    ?         最多匹配一次        
    *    匹配前面一个普通字符的任意次数    a*      0个或多个连续的a
                           (abc)*    0个或多个连续的abc
                            .*     任意长度的任意字符串
    +        最少匹配一次         a+     一个或多个连续的a
                           (abc)+    一个或多个连续的abc

    元字符{}:限定表达式的匹配次数

    类型      含义        示例        说明
    {n}      匹配n次      (ab){3}      匹配ababab
    {n,m}     匹配n-m次      (ab){1,3}     匹配ab、abab、ababab
    {n,}      匹配至少n次     (ab){2}       匹配2个及以上连续的ab

    元字符[]

    匹配字符集合
    []内加^可取反;"^"符号表示匹配行首,但是“^”符号放到"[]"符号中就不再是匹配行首,而是表示取反

    示例

    说明

    [acl45_?]

    匹配a、c、l、4、5、_、?

    [a-z]

    匹配任意小写字母

    [A-Z]

    匹配任意大写字母

    [0-9]

    匹配任意数字

    [a-Z0-9]

    匹配任意字母或数字

    [^A-Z]

    匹配包括非大写字母的行

    ^[^a-z]

    匹配不以小写字母开头的行

    [m~n]

    匹配m和n

    [:space:]

    空白字符

    [:punct:]

    标点符号

    [:lower:]

    小写字母

    [:upper:]

    大写字母

    [:alpha:]

    大小写字母

    [:digit:]

    数字

    [:alnum:]

    数字和大小写字母

    其他元字符

    类型    含义      示例      说明
    ()    组合为整体    ab{3}     匹配ab、abb、abbb
                  (ab){3}    匹配ab、abab、ababab
    |      或者      root|bin  匹配root、bin
        单词边界    root    匹配单词root,不匹配keroot、rooty等字符串
    <    单词的开头    <th    匹配以th开头的单词
    >    单词的结束    <root>    作用与root相同

    为转义符号,可以为一些普通字符赋予特殊含义,或者将一些特殊字符变为普通字符

    <>:精确匹配符号,该符号利用""符号屏蔽"<>"符号,如<the>表示精确匹配the这个单词,而不匹配the字符的单词

    ()通常和|符号结合使用,表示一组可选字符的集合

  • 相关阅读:
    (22)C#windows打包部署
    (2)OLEDB数据库操作
    (5)C#工具箱-数据
    (21)C#VS快捷键
    (1)OracleClient数据库操作(淘汰)
    (4)C#工具箱-菜单和工具栏
    (3)C#工具箱-容器
    (2)C#工具箱-公共控件2
    (9)oracle 表的基本查询
    企鹅
  • 原文地址:https://www.cnblogs.com/zhongguiyao/p/8984920.html
Copyright © 2011-2022 走看看