码迷,mamicode.com
首页 > 其他好文 > 详细

通配符与正则表达式

时间:2017-09-30 16:19:03      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:字符串   原创   blog   log   第一个   color   允许   分享   转义符   

通配符和正则表达式

2017-09-30-11:22:31个人原创,允许转载,请注明出处,作者,否则追究法律责任。

通配符适用的地方:shell命令行或者shell脚本中

正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则。

 

1,通配符

 ﹡ 匹配所有:匹配0个到多个的任意的字符。

技术分享

 

技术分享

 

?匹配任意单个字符

技术分享

 

[ ] 匹配括号内的1个字符

技术分享

 

技术分享

 

[ ! ] 匹配 不在中括号内的一个字符 (和正则中的 [ ^ ]作用相似,都是反向选择)

技术分享

 

当要把以上的* ,?,[ ]当成参数或者字符串处理时,就要限制shell不能当成通配符。这时的处理方法是:加单引号或者用\(反斜杠转义)

技术分享

 

 2,正则表达式

 

字符

作用

*

前一个字符匹配0次或任意多次

.

匹配除了换行符以外任意一个字符

^

匹配行首。例如:^helloworld会匹配以helloworld开头的行

$

匹配行尾。例如:helloworld$会匹配以helloworld结尾的行

[ ]

匹配中括号里的任意指定的一个字符,但只匹配一个字符

[^]

匹配除中括号以外的任意一个字符

\

转义符,取消特殊含义

{n}

表示其前面的字符恰好出现n

{n,}

表示其前面的字符出现不小于n

{n,m}

表示其前面的字符至少出现n次,最多出现m

 

字符匹配

.:匹配任意单个字符

*:匹配其前面一个字符出现任意次

?:匹配其前面的字符1次或0

+:匹配其前面一个字符出现至少一次(在扩展正则表达式中)

   

位置匹配

^:锚定行首

$:锚定行尾

\<\b:锚定词首,其后面的任意字符必须作为单词首部出现

\>\b:锚定词尾,其前面的任意字符必须作为单词尾部出现

\B:非单词的开头或结尾

^$:空白行

   

分组匹配用()

(ac)* 匹配ac这个分组出现任意次

\1:引用第一个左括号以及与之对应的右括号所包括的所有内容,同理还有\2,\3

 

通配符与正则表达式

标签:字符串   原创   blog   log   第一个   color   允许   分享   转义符   

原文地址:http://www.cnblogs.com/kaishirenshi/p/7615053.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!