简述:正则表达式主要用于文本的搜索,它表示了搜索文本的过滤条件。根据这些条件,对目标文本朱行进行匹配检查,最后对输出匹配到符合过滤条件的行。
使用:正确高效的使用正则表达式,需要掌握以下基本知识点
1:语法 grep [OPTION] PATTERN FILE…..
OPTION]:表示搜索的选项。其中
-v:显示不能被pattern匹配到的行
-i:表示忽略字符大小写
– o:表示仅仅显示匹配到的字符串
-A#:显示匹配到的行以及后几行
-B#:显示匹配到的行以及前几行
-C#:显示匹配到的行以及前后几行
PATTERN:表示正则表达式,熟练写好所需要的正则表达式,需要熟练掌握正则表达式元字符
2 基本正则表达式元字符
一:字符匹配
. :匹配任意单个字符
[]:匹配任意范围内的单个字符
[^]:匹配指定范围内的任意单个字符
[:alnum:]:字母和数字
[:alpha:]:字母
[:lower:]:小写字母
[:power:]:大写字母
[:digit:]:数字
[:blank:] 空白字符
[:space:] 包含范围比 blank更广
二:匹配次数
用在要指定次数的字符后面,用于指定前面的字符要出现的次数
*;;匹配前面的字符任意次,包括0次
.*任意长度的任意字符
\? 匹配前面的字符0次或1次
\+ 匹配前面的字符至少1次
\{n\}匹配前面的字符n次
\{m,n\}匹配前面的字符至少m次至多n次
\{,n\}匹配前面的字符至多n次
\{m,\}匹配前面的字符至少m次
三:位置锚定
^行首
$行尾
\< 词首
\>词尾
\<patten\>匹配整个单词
四:分组
\(\)将一个或多个字符捆绑在一起,当做一个整体进行处理
\(word\)
3 如何熟练使用正则表达式
一:熟练掌握元字符所表示的意义
二:记忆一些常用的表达式,比如说^[[:space:]]*$表示空行 \<word>\ 表示匹配到的某个单词
三:linux的一些基础命令的掌握。比如说wc head tail cut sort uniq 和一些常用的查询命令 。
四:多做练习,整理做题的思路。反过来检测知识不牢靠的点,后续再及时复习。
原创文章,作者:mapipi,如若转载,请注明出处:http://www.178linux.com/77492