码迷,mamicode.com
首页 > 系统相关 > 详细

Linux正则表达式

时间:2018-05-22 00:06:39      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:body   ring   code   举例   表示范围   按键   ble   linux正则   color   

正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。正则表达式基本上是一种“表示法”,只要工具支持这种表示法,那么该工具就可以用来作为正则表达式的字符串处理之用。

正则表达式字符

RE字符 意义
. 匹配任意单个字符
[-] 匹配括号里任意一个字符,也可以用-来表示范围。例如:[abc]或[a-z]
[^] 匹配不包括括号里的字符,例如:匹配非数字[^0-9]
* 匹配前一个字符任意次,包括0次
\? 匹配前一个字符0到1次
\+ 匹配前面字符至少1次
\{n,m\} 匹配前一个字符至少n次最多m次;\{n\}匹配n次;\{n,\}匹配至少n次,最多不限
^string 匹配的字符串处于行首
string$ 匹配的字符串处于行尾
\ 匹配的字符串位于单词词尾
\ 匹配整个单词
\(PATTERN\) 匹配括号里的组字符串,可以用变量\1,\2,\3...引用匹配到的内容

范围字段表示

字符类 含义
[:alnum:] 代表英文大小写字符及数字,即0-9,A-Z,a-z
[:alpha:] 代表任何英文大小字符,即A-Z,a-z
[:lower:] 代表小写字符,即a-z
[:upper:] 代表大写字符,即A-Z
[:digit:] 代表数字,即0-9
[:xdigit:] 代表十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符
[:blank:] 代表空格键与tab按键
[:graph:] 除了空格与tab按键之外的其它所有按键
[:space:] 任何会产生空白的字符,包括空格键,Tab键,CR等
[:cntrl:] 代表键盘上面的控制按键,既包括CR,LF,Tab,Del等
[:print:] 代表任意可打印字符
[:punct:] 代表标点符号,即" ‘ ? ! ; : # $

应用举例

# 在/etc/passwd中查找用户名和所用shell同名的行
[root@oldboy68-23 ~]# egrep --color=auto "(^[^:]*\>).*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
  • 范例说明:
    1. (^[^:]*>)表示匹配不包括:字符的单词为行首的行
    2. \1$表示()中匹配到的内容做为行尾
    3. .*表示任意字符任意多个

Linux正则表达式

标签:body   ring   code   举例   表示范围   按键   ble   linux正则   color   

原文地址:https://www.cnblogs.com/dengcz/p/9069949.html

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