Linux - 正则表达式
目录
1. 正则表达式(regular expression)
1.1 元字符
1.1.1 ^ 表示以什么开头
1.1.2 $ 表示以什么结尾
1.1.3 " . "表示任意单个字符
1.1.4 *表示前面的字符出现0次或者任意次
.*表示所有的字符
1.1.5 |表示或者
1.1.6 ^$ 表示空行
1.1.7 +表示前面字符出现1次以上
1.2 方括号表达式
1.2.1 [abc] 表示 a,b,c任意一个
1.2.2 [a-z] 表示小写字母
1.2.3 [A-Z] 表示大写字母
1.2.4 [0-Z] 表示数字和字母
1.2.5 ^在方括号里面和外面的区别
1.3 []和 {}组合使用
2.从文本里面过滤出所有邮箱地址
3. 练习
1. 正则表达式(regular expression)
regular 常规,规则的
expression 表达式,公式
什么是正则?
使用一些特殊字符+字母和或数字按照某个规则组合成一 个公式用来表示某个意思这就叫正则表达式
为什么需要使用它?
查找的场景特别适合使用正则,大海捞针
正则用在哪里?
正则表达式是一种方法,很多命令可以采用这种方法
vim ,grep,sed,awk等都支持正则表达式
######################################################
1.1 元字符
元字符:有特殊含义的字符,可以表示其他的含义
1.1.1 ^ 表示以什么开头
[root@localhost 7.1]# cat sc.html | egrep "^<h1"
<h1>Welcome to sanchuang!</h1>
<h1>三创同乐欢迎您!</h1>
######################################################
1.1.2 $ 表示以什么结尾
[root@localhost 7.1]# cat sc.html | egrep "/p>$"
<p>address: hunan.changsha.furong</p>
<p>teacher feng PhoneNO: 18908495097</p>
<p>teacher feng wechat: 18908495097</p>
######################################################
1.1.3 " . "表示任意单个字符
示例:因为 . 表示任意单个字符,所以
"lizhuofu.{2}" 表示以lizhuofu开头的后面任意两个单个字符
"lizhuofu.{4}" 表示以lizhuofu开头的后面任意四个单个字符
"lizhuofu.{4,6}" 表示以lizhuofu开头的后面任意4 - 6个单个字符
######################################################
1.1.4 *表示前面的字符出现0次或者任意次
.*表示所有的字符
######################################################
1.1.5 |表示或者
######################################################
1.1.6 ^$ 表示空行
######################################################
1.1.7 +表示前面字符出现1次以上
######################################################
1.2 方括号表达式
1.2.1 [abc] 表示 a,b,c任意一个
[abc] = "a|b|c"
######################################################
1.2.2 [a-z] 表示小写字母
######################################################
1.2.3 [A-Z] 表示大写字母
######################################################
1.2.4 [0-Z] 表示数字和字母
######################################################
1.2.5 ^在方括号里面和外面的区别
^在方括号里面表示对字符取反
^在方括号里面表示以某个字符开头
示例:查找不是以数字开头的行
######################################################
1.3 []和 {}组合使用
[0-9]{2} 表示0-9里面可以取2次的意思,随便你取哪一个,取两次
[0-9]{2,5} 表示从0-9里可以取2-5次的数字,随便你取哪个,至少两次,最多取5次
[0-9]{2,} 表示从0-9里可以取两次以上,最少2次
a{2} 表示花括号前面的a连续出现两次
abc{2}表示abc中的c出现2次
######################################################
2.从文本里面过滤出所有邮箱地址
文本:
root@localhost lianxi]# cat mail.txt
wang sheng hu 8898989@qq.com fjdkfjd
fengdeyong@sina.com fjdkfjd
zhao zhao@163.com
yishiying_1213@163.com fjdkfjdkjfk15、写一个表示邮箱的正则
feng@qq.com changsha
1234feng@163.com fengdeyong
meng.xianhui@yahoo.cn sanchuang
liudehua@sina.com
10001@qq.com
123_ui@12306.cn
qilu@qilu.edu
qilu@qilu.edu/fjdkfjk/fjdk[root@localhost lianxi]#
字符串1 : a-Z_0-9
字符串2:0-Z
字符串3:a-Z
######################################################
3. 练习
Linux - 正则表达式相关推荐
- Linux正则表达式grep与egrep
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...
- 关于清晰讲解linux正则表达式的博文分享
http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html linux shell 正则表达式(BREs,EREs,PREs)差异比 ...
- linux 正则表达式和通配符
linux 正则表达式和通配符 通配符用于查找文件 包含三种: * ? [] * 代表任意个任意字符 ? 代表任意一个字符 [] 代表中括号中的一个字符 正则表达式(正则是包含匹配,只要包含就可以匹 ...
- Linux正则表达式和文本处理工具(gred、awk、sed)
使用Linux 的 gred.awk.sed 可以方便得处理文本,然而若要灵活使用这三个工具,首先必须理解正则表达式.这里先对正则表达式进行学习,做点记录,之后再练习一下文本处理工具的使用. 正则表达 ...
- 【Linux正则表达式之grepegrep】
文章目录 Linux正则表达式 (1).✅
- Linux正则表达式简介
Linux正则表达式简介 一.为什么要学习正则表达式 Linux运维操作主要面对的即是含有大量的字符串的文本,而我们也经常会迫切的需要从大量的字符串中去找到特定的文本信息,正则表达式就是为过滤这样的字 ...
- Linux正则表达式 --已整理
linux正则表达式 一.linux文本查找命令 二.正则表达式介绍 基本正则表达式元字符 三.拓展正则表达式 实例 1 正则表达式 实例 2 :扩展正则表达式 在使用linux时,经常需要进行文件查 ...
- linux 正则表达式详解
有关正则表达式容易混淆事项 本文讲的是Linux 系统中的正则表达式,即 Linux 正则表达式,应用正则表达式的命令就是 grep(egrep),sed,awk,注意,其他普通命令正常情况下无法使用 ...
- linux 通配符 正则表达式 区别,linux 正则表达式和通配符
linux 正则表达式和通配符 通配符用于查找文件 包含三种: * ? [] * 代表任意个任意字符 ? 代表任意一个字符 [] 代表中括号中的一个字符 正则表达式(正则是包含匹配,只要包含就可以匹 ...
- Linux正则表达式多个条件并,linux 正则表达式深度解析
简介 大体来讲,正则表达式的文法分为3种标准:BRE.ERE 和 ARE.其中 BER 和 ERE 属于 POSIX 标准,ARE 则是由各家定义的扩展. POSIX 正则表达式 传统上,POSIX ...
最新文章
- android中完全退出当前应用程序的四种方法
- MySQL索引面试题:优化 索引分类
- 计算机组成SRAM,静态读写存储器(SRAM)-计算机组成原理与汇编语言-电子发烧友网站...
- C++ 静态成员函数
- 使用peewee增删查改数据库
- oracle数据库管理web,Oracle 数据库WEB维护管理软件
- 基金学习201907301
- 线程池ThreadPoolExecutor的使用方法
- java泛型详解_Java泛型详解(透彻)
- noip模拟赛 寻宝之后
- JBoss - 调整JVM内存 -Xms512m -Xmx1024m
- ubuntu终端运行python找不到模块_在ubuntu里直接通过终端编写运行python程序
- vue中点击,将内容复制到剪贴板
- 【FPGA】Vivado综合停滞、死机(PID Not Specified)解决方法
- linux设置广播路由,如何设置路由器开启ssid广播 路由器开启ssid广播的详细方法...
- 前端-table表格隔行变色
- 动态代理及JDK动态代理源码分析
- it可以拥有的证书含金量和途径
- 计算机组成与结构——概述
- Android应用接入微信开放平台