您的位置:首页 > 其它

基础正则表达式

2013-10-24 22:19 120 查看
^word 待查找的字符串在行首

word$ 待查找的字符串在行尾

.           一定有一个任意字符的字符

* 重复零个到无穷多个的前一个字符

[list] 从字符集合里找出想要选择的字符

[n1-n2] 字符范围

[^list] 不要的字符或范围

\{n,m\}  连续n到m个前一个RE字符,若为\{n\}则是连续n个的前一个RE字符

              若为\{n,\}则是连续n个以上的前一个RE字符

--------------------------------------------------------------------------------------------------------------------------------------

^有两重意思        1.反向字符

                           2.行首

例如:grep  -n  '^[^a-zA-Z]'  yi.txt ^在[]内表示“反向选择”,在[]外表示定位在行首

$行尾

windows的断行字符(^M$),Linux为($)

查找空白行

grep  -n  '^$'  me.txt

要想空白行和以#开头的都不显示

grep  -v  '^$'  me.txt  |  grep  -v  '^#'

--------------------------------------------------------------------------------------------------------------------------------------

以g开头以g结尾

grep  -n  'g.*g'  me.txt     “.*” 代表零个或多个任意字符

当我们需要两个o以上的字符时,就需要ooo* ,因为*代表零个或多个前一个字符

g后面接2到5个o,然后再接一个g的字符串 grep  -n  'go\{2,5\}g'  me.txt

g后面接2个以上o,然后再接一个g的字符串 grep   -n  'go\{2,\}'  me.txt

记住:正则表达式的特殊字符与一般在命令行输入命令的“通配符”并不相同

例如,在通配符当中的*代表的是零到无限多个字符,正则表达式中则是重复0到无穷多个的前一个字符的意思
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: