正则表达式是用来对文本进行筛选、查找进行规范的表达式,这种表达式在对字符(串)进行筛选的时候,非常方便。
下面就几种常见的正则表达式做逐一阐述
1. 行首定位符 ^
实验文本
haozi,this is a test for regular
expression.haozi
you will find it's wonderful feature.
输入 grep ^ haozi 显示第一行
2. 行尾定位符 $ 用来定位所指定的字符(串)存在于某行的行尾的行
实验文本同上。
输入 grep haozi$ 显示第二行
3. 词首定位符 \<
4. 词尾定位符 \>
以上两个定位符用来精确定位一个指定的词
实验文本:
haozi,this is a test for regular
expression.haozik
khaozi ,you will find it's wonderful feature.
输入 grep \<haozi>\ 用来定位haozi 只显示第一行
如果输入 grep haozi 以上三行都会显示。
5. 通配符 . 是英文的句号,即dot符号。
用来匹配任意单个字符
实验文本:
haozi,this is a test for regular
expression.haozik
khaozi ,you will find it's wonderful feature.
输入 grep haozi. 显示第一二行
6. 用来指定和紧接着前面字符重复次数的定位符 *
表示重复前面紧紧相邻的那个字符0次到多次
实验文本:
实验文本:
aaabbccdd
abbcd
ddee
输入 grep a*bbc* 将显示第一二行
7. 指定范围字符中的任意一个
[A-Z] 指定 出现大写字母A-Z中的任何一个,就匹配改行
实验文本 :
AAcD
BD
abcd
输入 grep [A-Z] 将显示 第 一二行
8. 指定字符串中的任意一个字符
[abAB] 出现这四个字符中的任意一个就匹配。
实验文本 :
AbcD
EFB
EFG
输入 grep [abAB] 显示第一、二行
9. 相反匹配字符
匹配不在指定的字符串内的字符,
[^A-Z] 不是大写字符A-Z的范围,就匹配改行
[^not] 不是 not这个单词则匹配改行
实验文本,
not yes
yes right
输入 grep [^not] 显示 第二行
注:第9点,有待确认,实验的结果表明,似乎这样取反不行。
但是,grep -v 这个grep自身携带的参数就可以取反
转载于:https://blog.51cto.com/khaozi/925051
本文详细介绍并演示了正则表达式的多种实用技巧,包括行首定位符、行尾定位符、词首与词尾定位符等。通过具体实例解释了如何使用通配符和指定字符重复次数等功能。
10万+

被折叠的 条评论
为什么被折叠?



