1 / 24
文档名称:

3+正则表达式.doc

格式:doc   大小:49KB   页数:24页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

3+正则表达式.doc

上传人:wxc6688 2020/3/7 文件大小:49 KB

下载得到文件列表

3+正则表达式.doc

相关文档

文档介绍

文档介绍:、正则表达式基础LinuxShell以一串字符作为表达式向系统传达意思。元字符(Metacharacters)是用来阐释字符表达式意义的字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述。正则表达式是由一串字符和元字符构成的字符串,简称RE(RegularExpression)。正则表达式的主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。正则表达式完成了数据的过滤,将不满足正则表达式定义的数据拒绝掉,剩下与正则表达式匹配的数据。正则表达式的基本元素包括普通字符和元字符。POSIX标准将正则表达式分为两类:基本的正则表达式和扩展的正则表达式,大部分Linux应用和工具仅支持基本的正则表达式。基本的正则表达式元字符集合及其意义:*#0个或多个在*字符之前的那个普通字符.#匹配任意字符^#匹配行首,或后面字符的非$#匹配行尾[]#匹配字符集合\#转义符,屏蔽一个元字符的特殊意义\<\>#精确匹配符号\{n\}#匹配前面字符出现n次\{n,\}#匹配前面字符至少出现n次\{n,m\}#匹配前面字符出现n~m次空行的表示方法:^$匹配只包含一个字符的行:^.$Linux系统对大小写是敏感的,并且支持字母排序,因此,Linux中有大写字母序列和小写字母序列,两者是分开的。例:匹配字母[a-z]#所有小写字母[A-Z]#所有大写字母[b-p]#小写字母b~p“^”符号表示匹配行首,但是,“^”符号放到”[]”符号中就不再表示匹配行首了,而是表示取反符号。如:[^b-p]表示匹配不在b~p范围内的字符。\<the\>正则表达式精确匹配the这个单词,而不匹配包含the字符的单词,如then。、正则表达式的扩展除了正则表达式的元字符之外,awk和Perl等Linux工具还支持正则表达式扩展出来的一些元字符。扩展的正则表达式元字符及其意义:?#匹配0个或1个在其之前的那个普通字符+#匹配1个或多个在其之前的那个普通字符()#表示一个字符集合或用在expr中|#表示“或”,、通配bashShell本身不支持正则表达式,使用正则表达式的是Shell命令和工具,如grep、sed、awk等。但是,bashShell可以使用正则表达式中的一些元字符实现通配(Globbing)功能,通配是把一个包含通配符的非具体文件名扩展存储在计算机、服务器或者网络上的一批具体文件名的过程。例::ls-l*.awk结果:-rwxrwxr-x1xiaomiaoxiaomiao598月2816:-rwxrwxr-x1xiaomiaoxiaomiao808月2816:-rwxrwxr-x1xiaomiaoxiaomiao1868月2816:-rwxrwxr-x1xiaomiaoxiaomiao738月2815:-rwxrwxr-x1xiaomiaoxiaomiao508月2809:-rwxrwxr-x1xiaomiaoxiaomiao778月2811:-rw-rw-r--1xiaomiaoxiaomiao368月2809::列出以a~h范围内字母开头,:ls-l[a-h]*.awk结果:-rwxrwxr-x1xiaomiaoxiaomiao598月2816:-rwxrwxr-x1xiaomiaoxiaomiao808月2816:-rwxrwxr-x1xiaomiaoxiaomiao1868月2816::列出以g~h范围内字母开头,:ls-l[g-h]*.[^awk]*结果:-rwxrwxr-x1xiaomiaoxiaomiao2808月1717:-rwxrwxr-x1xiaomiaoxiaomiao2868月1717:~-rwxrwxr-x1xiaomiaoxiaomiao4668月1717:-rwxrwxr-x1xiaomiaoxiaomiao4668月1717:~-rw-r--r--1rootroot27608月2314:-rwxrwxr-x1xiaomiaoxiaomiao3648月2210:-rwxrwxr-x1xiaomiaoxiaomiao333