正则表达式之egrep实战示例

前端之家收集整理的这篇文章主要介绍了正则表达式之egrep实战示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

基本正则表达式在egrep中的实战使用

那什么是基本正则表达式是什么呢?

其实呢,他就是一个语法啦!表达式么,就是表达自己需要的内容,让计算机去匹配你表达出内容的相关数据。这样描述很好理解吧.哈哈。

那基本正则表达式能为我们做点什么呢?

它可是很强大的东西,结合egrep使用能快速精准定位文件中你检索的内容。下面我会为大家娓娓道来。

首先,正则表达式中分为元字符和正常字符。

元字符:就是带特技的字符,用于表达控制和通配功能,不是很好懂诶那就待会结合实例来认识喽!

正常字符:这个就好理解了,顾名思义。自己猜吧

基本正则表达式元字符(注:这个是要死死记住的东西要不没法组织语法)

下面先介绍字符匹配

.:看到了吗?就中间那个点,美式键盘的句号键,它可以替代任何单个字符,注:是单个字符

wKiom1Ub74PyhyjtAACMIEdfVcs627.jpg

[]:匹配[]内任意单个字符

wKioL1Ub8QXRXs77AADMy5dOt30289.jpg

[^]:匹配非[^]内的任意字符

wKiom1Ub78ewi4KXAACByWFhQ58959.jpg

还可以这样取值

[0-9]同时可以这样[[:digit:]]表示取反就是[^0-9]或者[^[:digit]]

wKioL1Ub8QXSzxM-AAFKxmfM6yQ848.jpg

[a-z]或者这样表达[[lower]]意思是一样的。

wKiom1Ub8BWAp6U0AAE14E1ZKzU802.jpg

这样[A-Z],或者这样[[:upper:]]

wKioL1Ub8VOCQF16AACUy25gS30256.jpg

[[space:]]:空格

wKiom1Ub8BXi9abfAAEDxTOanvQ666.jpg

[[:punct;]]:标点

wKioL1Ub8bLx3EkhAABhQHChUUk232.jpg

[0-9a-zA-Z][[:alnum;]]:数字和字母

wKiom1Ub8HPCprBHAACXOngoz9Q058.jpg

[a-zA-Z][[:alpha:]]:所有字母

wKioL1Ub8bKjKHPpAACGRYGZviI863.jpg

以上是字符匹配以下进入次数匹配(注:前方高能)

次数匹配是对需要匹配字符后面提供的控制符,对控制符前字符生效,用于表达前面字符指定的次数

*:任意长度,表示0次、1次或者多次:

wKiom1Ub8HTSGUT8AAC3kf6uCpk579.jpg

.*:注意看*前面有个点,任意长度的任意字符

wKioL1Ub8mOgxyxFAADgsUe-8FQ592.jpg

\?:0次或者1次:表示其左侧字符可有可无

wKiom1Ub8SXhppVvAAC9Hii58W4753.jpg

\+:一次或多次;表示左侧字符至少出现一次

wKioL1Ub8mPBhtJQAAC4STL3CPY284.jpg

{n}n次;表示其左侧字符精确出现n次看不懂看示例

wKiom1Ub8SWTm-pRAAEfE86iVic245.jpg

{mn}:左侧m代表次数下限,至少m次;右侧n代表上限,至多n次注意需要“”来引用了看示例

wKiom1Ub8dCjmBeUAAEhvcsSwmo453.jpg

需要注意的是如果是只设上限左侧只需为0,但是如果只设下限的话是这样表达{m}

wKiom1Ub8gyz-PIXAAB5Qr00Bso463.jpg

下面来讲位置锚定

^:锚定行首,白话就是告诉计算机你要找的东西是在行首。万恶的专业术词哈哈

$:锚定行尾

锚定单词:指非特殊字符如(!@#%……&*)……巴拉巴拉你懂的啦!组成的连续字符串

这里用/etc/passwrod文件做示例

\<或者\b:锚定词首,

\>或者\b:锚定词尾,

wKiom1Ub8gzzvHyLAACfmGJnb9c629.jpg

wKioL1Ub80rycJh3AADOIEQSX2w767.jpg

分组:()

分组模式中匹配的字符会被grep记忆,保存的记忆顺序是\1代表第一个()的值,\2代表第二个()取的值,可以通过\1\2……来引用前面保存的值看示例

wKioL1Ub80qz2V-DAADRldRH6XY456.jpg

猜你在找的正则表达式相关文章