博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式-Linux系统的任督二脉
阅读量:4102 次
发布时间:2019-05-25

本文共 1248 字,大约阅读时间需要 4 分钟。

1.什么是正则表达式

正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。

正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以用来作为正则表达式的字符串处理之用。

2.正则表达式的用途

  • 对于系统管理员来说,在系统的数据量特别大的时候,想查看一行有问题的信息,就可以用正则表达式将信息来进行分析,这样系统的管理工作就会更加方便。
  • 邮件服务器,是最常见的使用正则表达式的地方。

3.基础正则表达式

正则表达式只是处理字符串的一种表示方法,对字符排序有影响的语系数据就会对正则表达式的结果产生影响。正则表达式也需要支持工具程序辅助才行,最简单的字符串选取工具就是grep。

语系的影响

例如

  • LANG=C时:0 1 2 3 4 … A B C D…Z a b c …z
  • LANG=zh_CN时:0 1 2 3 … a A b B c C …z Z
    为了避免这样的编码所造成的英文与数字的选取问题,有些特殊的符号得让我们了解一下。
特殊符号 代表意义
[:alnum:] 代表英文大小写字符及数字,即0-9,A-Z,a-z
[:alpha:] 代表英文大小写字符,即A-Z,a-z
[:blank:] 代表空格键和Tab按键
[:cntrl:] 代表键盘上的控制按键,即包括CR,LF,Tab,Del等
[:digit:] 代表数字而已,即0-9
[graph] 除了空格符之外的所有字符
[:lower:] 代表小写字符,即a-z
[:upper:] 代表大写字符,即A-Z
:print: 代表任何可以被打印出来的字符
[:punct:] 代表标点符号(punctuation symbol),即" ’ ? / : ;# $
[:space:] 任何会产生空白的字符,包括空格键[Tab]CR等
[:xdigit:] 代表十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符

grep的一些高级参数

grep [-A][-B] [--color=auto] '搜寻字符串' filename-A:后面可加数字,为After的意思,除了列出该行外,后续的n行业列出来-B:后面可加数字,为befor的意思,除了列出该行外,前面的n行业列出来--color=auto可将正确的那个选取数据列出颜色dmesg 可列出内核产生的信息

grep是一个很常见也很常用的命令,它最重要的功能就是进行字符串数据的对比,然后将符合用户需求的字符串打印出来,需要说明的是grep在数据中查找一个字符串时,是以整行为单位来进行数据的选取的

注意
在关键字的显示方面上,可以在~/.bashrc内加上这行:alias grep=‘grep --color=auto’,再以“source ~/.bashrc”来生效即可,这样每次执行grep它都会自动帮你加上颜色显示。

转载地址:http://alksi.baihongyu.com/

你可能感兴趣的文章
【Android】状态栏通知Notification、NotificationManager详解
查看>>
如何在Android 4.0 ICS中禁用StatusBar | SystemBar | 状态栏
查看>>
android ics SystemUI详解
查看>>
android systemUI--Notification 整理
查看>>
状态栏SystemUI的启动过程
查看>>
Android状态栏功能介绍
查看>>
Notification的显示过程
查看>>
Android init 启动过程分析1
查看>>
Android init 启动过程分析2
查看>>
关于android 系统开发文章整理
查看>>
状态栏的定制
查看>>
Android的联通性---Bluetooth(一)
查看>>
Android的联通性---Bluetooth(二)
查看>>
android启动过程配置文件的解析与语法
查看>>
android系统开发(一)-HAL层开发基础
查看>>
android系统开发(二)-背光模块
查看>>
android系统开发(三)-SDCARD
查看>>
50个Android开发人员必备UI效果源码[转载]
查看>>
Git fetch和git pull的区别
查看>>
GIT入门之二:版本历史/回溯
查看>>