• 【Regular Expression】RE分类及案例


    背景知识

    正则表达式分为三类:基础正则表达式、扩展正则表达式、Perl正则表达式(Perl内建)

    通俗来说,这三个一个比一个强大,支持的规则匹配字符更多

    1.匹配IP

    ip addr | grep -P '(((d{1,2})|(1d{2})|(2[0-4]d)|(2[0-5]{2})).){3}((d{1,2})|(1d{2})|(2[0-4]d)|(2[0-5]{2}))'
    ip addr 获得本机IP
    grep -P 使用Perl正则表达式 不带 -P 参数时,表示使用 基础正则表达式
     位置匹配,匹配字符串边界
    d 是[0-9]的另一个写法
    ( ) 括号 是 使用了 子表达式
    { } 代表 匹配到的字符串的重复次数
    | 或者


    2.匹配MAC地址 -P 表示使用Perl正则表达式
    ip addr | grep -P '([0-9A-Fa-f]{2}:){5}([0-9A-Fa-f]{2})'
     
    常握 Linux 下几种常用文本工具的特点,对于我们更好的使用正则表达式是很有帮助的
    
    grep , egrep 正则表达式特点:
    1)grep 支持:BREs、EREs、PREs 正则表达式
    
    grep 指令后不跟任何参数,则表示要使用 ”BREs“ 
    
    grep 指令后跟 ”-E" 参数,则表示要使用 “EREs“
    
    grep 指令后跟 “-P" 参数,则表示要使用 “PREs"
    
     
    
    2)egrep 支持:EREs、PREs 正则表达式
    
    egrep 指令后不跟任何参数,则表示要使用 “EREs”
    
    egrep 指令后跟 “-P" 参数,则表示要使用 “PREs"
    
     
    
    3)grep 与 egrep 正则匹配文件,处理文件方法
    
    a. grep 与 egrep 的处理对象:文本文件
    
    b. grep 与 egrep 的处理过程:查找文本文件中是否含要查找的 “关键字”(关键字可以是正则表达式) ,如果含有要查找的 ”关健字“,那么默认返回该文本文件中包含该”关健字“的该行的内容,并在标准输出中显示出来,除非使用了“>" 重定向符号,
    
    c. grep 与 egrep 在处理文本文件时,是按行处理的
    
     
    
    sed 正则表达式特点
    1)sed 文本工具支持:BREs、EREs
    
    sed 指令默认是使用"BREs"
    
    sed 命令参数 “-r ” ,则表示要使用“EREs"
    
    2)sed 功能与作用
    
    a. sed 处理的对象:文本文件
    
    b. sed 处理操作:对文本文件的内容进行 --- 查找、替换、删除、增加等操作
    
    c. sed 在处理文本文件的时候,也是按行处理的
    
    Awk(gawk)正则表达式特点
    1)Awk 文本工具支持:EREs
    
    awk 指令默认是使用 “EREs"
    
    2)Awk 文本工具处理文本的特点
    
    a. awk 处理的对象:文本文件
    
    b. awk 处理操作:主要是对列进行操作
  • 相关阅读:
    系统安全方案
    模态框的使用
    thinkphp修改分页为post方式
    手动配置apache、php
    Djang之ModelForm组件的简单使用
    连接池还是连接迟?
    金融量化
    luasocket编译安装遇到的坑
    numpy&pandas补充常用示例
    Matplotlib画正弦余弦曲线
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/6839574.html
Copyright © 2020-2023  润新知