grep及扩展正则表达式
2017-06-29 22:19
369 查看
正则表达式有两类,分为基本正则表达式和扩展正则表达式,是使用命令egrep来使用扩展正则表达式,它与grep很多功能相同,仅在元字符上实现了些扩展,在元字符的表示上与基本正则表达式略不同。
1. 命令格式:
egrep [option] pattern file
2. 命令功能:
用于过滤/搜索的特定字符。可使用扩展正则表达式能多种命令配合使用,使用上十分灵活 。
3. 命令参数:
egrep等同于grep -E选项
扩展正则表达式的元字符:
字符匹配:
. #匹配单个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
次数匹配:
* #匹配零个或多个先前字符。如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
? #匹配其前面出现的字符0次或1次。如:'x\?y'匹配x出现一次或者不出现的行。
+ #匹配其前面的字符出现至少一次。如: 'x\+y'匹配x出现最少一次的行。
{m} #匹配其前面的字符至少m次; 如:'0\{5\}'匹配包含5个o的行。
{m,} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
{m,n}:匹配其前面的字符至少m次,至多n次; o\{5,10\}'匹配至少有5-10个o的行。
.* :匹配任意长度的任意字符
位置锚定:
$ #行尾锚定 如:'grep$'匹配所有以grep结尾的行。
^ #行首锚定 如:'^grep'匹配所有以grep开头的行。
^$ #空白行:行首与到行尾 特殊环境能用到
\< #单词 词首 锚定,也可以用\b。 如: ' \<grep' '\bgrep'只匹配grep单词开头的行。
\> #词尾锚定,也可以用\b。如: 'grep/>'' grep/b' 只匹配grep单词结尾的行。
/< pattern/> #单词锚定,只匹配出现pattern单词的行和' /b pattern/b'是一样的效果。
\b #单词锁定符,如: '\bgrep\b'只匹配grep。 同/< pattern/>
分组
() #将关键字和元字符在里面分组,也支持后向引用。
后向引用 :模式中,如果使用\(\)实现了分组,在某行文本的检查中,如果括号中的模式匹配到了某内容,其内容 后面的模式中可以被引用; \1,\2,\3 第一个括号,第二个括号,第三个括号 模式自左而右,引用第N个左括号以及与其匹配右括号之间的模式匹配到的内容。
4.不同处
紧紧在元字符表示上略有不同:
在次数匹配的:?,+,{m},{m,}{m,n},分组()等等元字符表示上略有不同,使用方法都是一样的,大家可以参考另一篇博文《grep命令及基本正则表达式》
转载:http://www.tuicool.com/articles/iAbER3
1. 命令格式:
egrep [option] pattern file
2. 命令功能:
用于过滤/搜索的特定字符。可使用扩展正则表达式能多种命令配合使用,使用上十分灵活 。
3. 命令参数:
egrep等同于grep -E选项
扩展正则表达式的元字符:
字符匹配:
. #匹配单个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
次数匹配:
* #匹配零个或多个先前字符。如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
? #匹配其前面出现的字符0次或1次。如:'x\?y'匹配x出现一次或者不出现的行。
+ #匹配其前面的字符出现至少一次。如: 'x\+y'匹配x出现最少一次的行。
{m} #匹配其前面的字符至少m次; 如:'0\{5\}'匹配包含5个o的行。
{m,} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
{m,n}:匹配其前面的字符至少m次,至多n次; o\{5,10\}'匹配至少有5-10个o的行。
.* :匹配任意长度的任意字符
位置锚定:
$ #行尾锚定 如:'grep$'匹配所有以grep结尾的行。
^ #行首锚定 如:'^grep'匹配所有以grep开头的行。
^$ #空白行:行首与到行尾 特殊环境能用到
\< #单词 词首 锚定,也可以用\b。 如: ' \<grep' '\bgrep'只匹配grep单词开头的行。
\> #词尾锚定,也可以用\b。如: 'grep/>'' grep/b' 只匹配grep单词结尾的行。
/< pattern/> #单词锚定,只匹配出现pattern单词的行和' /b pattern/b'是一样的效果。
\b #单词锁定符,如: '\bgrep\b'只匹配grep。 同/< pattern/>
分组
() #将关键字和元字符在里面分组,也支持后向引用。
后向引用 :模式中,如果使用\(\)实现了分组,在某行文本的检查中,如果括号中的模式匹配到了某内容,其内容 后面的模式中可以被引用; \1,\2,\3 第一个括号,第二个括号,第三个括号 模式自左而右,引用第N个左括号以及与其匹配右括号之间的模式匹配到的内容。
4.不同处
紧紧在元字符表示上略有不同:
在次数匹配的:?,+,{m},{m,}{m,n},分组()等等元字符表示上略有不同,使用方法都是一样的,大家可以参考另一篇博文《grep命令及基本正则表达式》
转载:http://www.tuicool.com/articles/iAbER3
相关文章推荐
- GREP正则表达式 扩展正则表达式 重定向
- 正则表达式RE与扩展正则表达式ERE——grep与egrep
- 2015年8月27日【文件权限管理及grep正则和扩展正则表达式】-JY1506402-19+liuhui880818
- Grep/Sed的扩展正则表达式开关,以及利用正则表达式中的分组功能
- grep正则表达式 & egrep扩展正则表达式 & fgrep & I/O 重定向
- grep, egrep, 基本正则表达式及扩展表达式学习及用法
- 正则表达式grep和扩展正则表达式egrep
- 如何在grep和sed命令中使用扩展的正则表达式
- linux grep 基本正则表达式与扩展正则表达式使用解析
- 文本查找工具grep,正则表达式,扩展表达式
- linux之grep基本及扩展正则表达式应用作业
- linux grep基本正则表达式和egrep扩展正则表达式
- grep, egrep, 基本正则表达式及扩展表达式;
- GREP 正则表达式 扩展正则表达式 重定向
- Grep/Sed的扩展正则表达式开关,以及利用正则表达式中的分组功能
- linux基础篇-12,grep正则表达式与扩展正则表达式
- grep正则表达式及扩展表达式
- 正则表达式grep和扩展正则表达式egrep的总结
- grep、正则表达式和扩展正则表达式的理解及运用
- grep的基本正则表达式及扩展表达式