【Regular Expression】RE分类及案例
背景知识
正则表达式分为三类:基础正则表达式、扩展正则表达式、Perl正则表达式(Perl内建)
通俗来说,这三个一个比一个强大,支持的规则匹配字符更多
1.匹配IP
ip addr | grep -P '\b(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(2[0-5]{2}))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(2[0-5]{2}))\b'
ip addr 获得本机IP
grep -P 使用Perl正则表达式 不带 -P 参数时,表示使用 基础正则表达式
\b 位置匹配,匹配字符串边界
\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 处理操作:主要是对列进行操作
【Regular Expression】RE分类及案例的更多相关文章
- 【 Regular Expression Matching 】cpp
题目: Implement regular expression matching with support for '.' and '*'. '.' Matches any single chara ...
- [LeetCode] Regular Expression Matching [6]
称号: Implement regular expression matching with support for '.' and '*'. '.' Matches any single chara ...
- Java基础-正则表达式(Regular Expression)语法规则简介
Java基础-正则表达式(Regular Expression)语法规则简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正则表达式的概念 正则表达式(Regular Exp ...
- [LeetCode] Regular Expression Matching 正则表达式匹配
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- myeclipse中导入js报如下错误Syntax error on token "Invalid Regular Expression Options", no accurate correc
今天在使用bootstrap的时候引入的js文件出现错误Syntax error on token "Invalid Regular Expression Options", no ...
- [LeetCode] 10. Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. DP: public class Solution { publ ...
- No.010:Regular Expression Matching
问题: Implement regular expression matching with support for '.' and '*'.'.' Matches any single charac ...
- Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- 【leetcode】Regular Expression Matching
Regular Expression Matching Implement regular expression matching with support for '.' and '*'. '.' ...
- 【leetcode】Regular Expression Matching (hard) ★
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
随机推荐
- epii.js简约而不简单的JS模板引擎
epii.js是什么 epii.js是一个 模板引擎,可快速实现数据与ui绑定,快速实现事件绑定,与处理,不依赖任何第三方库,仅仅8k,在native+webapp开发 和 web开发,h5微网页上均 ...
- 在Jekyll博客添加评论系统:gitment篇
最近在Github Pages上使用Jekyll搭建了个人博客( jacobpan3g.github.io/cn ), 当需要添加评论系统时,找了一下国内的几个第三方评论系统,如"多说&qu ...
- python基础(7):元祖类型(赋值补充)
前面学了列表和字典,今天我们看一个和列表相似的类型元祖. 预习: 简单购物车 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用 ...
- Python基础之字符编码
前言 字符编码非常容易出问题,我们要牢记几句话: 1.用什么编码保存的,就要用什么编码打开 2.程序的执行,是先将文件读入内存中 3.unicode是父编码,只能encode解码成其他编码格式 utf ...
- JQueryEasyUI学习简单Demo
一.Layout布局 声明:此文档参考了jQuery EasyUI官方文档 布局容器有5个区域:北.南.东.西和中间.中间区域面板是必须的,边缘的面板都是可选的.每个边缘区域面板都可以通过拖拽其边框改 ...
- java.net.UnknownHostException 异常解决方案
1)使用hostname命令设置新的host name与/etc/hosts本机hostname一致 #hostname 本机hostname 具体可以查看:/etc/hosts和//etc/sysc ...
- tensorflow 实现神经网络
import tensorflow as tf import numpy as np # 添加层 def add_layer(inputs, in_size, out_size, activation ...
- 安装完ubuntu16.4.0之后要做的一些优化
1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉 sudo apt-get remove libreoffi ...
- yii2 队列 shmilyzxt/yii2-queue 简介
在yii2论坛中看到一个关于队列的帖子,感觉不错.http://www.yiichina.com/extension/1084 (注:SendMail 错写为 SendMial,粘贴时要注意了.) 在 ...
- Eclipse Jetty插件安装
Eclipse Jetty插件安装 使用方法一: 本地资源包插件下载地址:http://pan.baidu.com/s/1sjNP5Id 或者是地址:http://pan.baidu.com/s/1b ...