正则表达式简述

正则表达式简述

什么是正则表达式:

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

正则表达式分类:

  • 标准正则表达式

  • 扩展正则表达式

标准正则表达式:

  • 元字符

. :表示匹配任意单个字符

[ ] :表示匹配指定范围内的任意单个字符

[^] :表示匹配指定范围外的任意单个字符

字符合集:

[:space:] 匹配空格

[:digiat:] 匹配数字

[:lower:] 匹配小写字母

[:upper:] 匹配大写字母

[:alpha:] 匹配大小写字母

[:punct:] 匹配所有标点符号

[:alnum:] 匹配大小写字母和数字

  • 次数匹配

*:匹配其前面的字符任意次数

.*:匹配任意长度的任意字符

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

\{m,n\} :匹配其前面的字符至少m次至多n次

  • 位置锚定

^ :锚定行首,此字符后面的任意内容出现在行首

$ :锚定行尾,此字符前面的任意内容出现在行尾

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

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

  • 分组

\(\):对括号内内容进行分组,视为一个整体进行读取,并便于后向引用。

\1:引用第一个分组匹配内容

\2:引用第二个分组匹配内容

\n:引用第N个分组匹配内容


扩展正则表达式:

  • 元字符

. :表示匹配任意单个字符

[ ] :表示匹配指定范围内的任意单个字符

[^] :表示匹配指定范围外的任意单个字符

字符合集:

[:space:] 匹配空格

[:digiat:] 匹配数字

[:lower:] 匹配小写字母

[:upper:] 匹配大写字母

[:alpha:] 匹配大小写字母

[:punct:] 匹配所有标点符号

[:alnum:] 匹配大小写字母和数字

  • 次数匹配

*:匹配其前面的字符任意次数

.*:匹配任意长度的任意字符

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

+:匹配其前面的字符至少1次

{m,n} :匹配其前面的字符至少m次至多n次

  • 位置锚定

^ :锚定行首,此字符后面的任意内容出现在行首

$ :锚定行尾,此字符前面的任意内容出现在行尾

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

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

  • 分组

():对括号内内容进行分组,视为一个整体进行读取,并便于后向引用。

\1:引用第一个分组匹配内容

\2:引用第二个分组匹配内容

\n:引用第N个分组匹配内容

例:

匹配IP地址包网络地址和广播地址表达式

(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>

表达式解释:

(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.) 该部分内容匹配0-255的数字和.

{3} 该部分内容表示匹配前面分组内容三次

\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\> 表示匹配IP地址最后一位 0-255的数字

原创文章,作者:Net18-Tomcat,如若转载,请注明出处:http://www.178linux.com/14077

(0)
Net18-TomcatNet18-Tomcat
上一篇 2016-04-05 23:02
下一篇 2016-04-05 23:03

相关推荐

  • gawk

    简介     AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。AWK 提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上 AWK 的确拥有自…

    Linux干货 2016-03-25
  • 用户和组管理类命令详解

    用户和组管理类命令详解 组管理 groupadd 功能描述:创建一个新组 命令格式: groupadd [选项] GROUP 选项: -g GID 表示指定GID,默认情况下使用的是最小的未使用过的GID -r 表示创建一个系统组 groupmod 功能描述:修改组属性 命令格式:groupmod [选项] GROUP 选项: -g GID 表示修改GID …

    Linux干货 2017-07-16
  • rpm程序包管理器使用详解

    rpm程序包管理器的使用详解   说到程序包管理器,就会想到基于CentOS系统上的rpm命令与其对应的前端处理器yum。所谓程序包,是将源代码转换为二进制格式,再组织成一个或者多个包文件供用户安装使用。rpm程序包的命名格式如下:   name-VERSION-release.arch.rpm   软件名-版本号(分为主版本m…

    Linux干货 2016-08-21
  • 马哥Linux第六周作业

    网络管理 进程查看及管理之ps,top,htop,dstat,vmstat

    2018-01-20
  • week4:grep命令正则表达式的应用

    1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限;     ~]# cp -r /etc/skel/ /home/tuser1 |chmod -R g-rwx,o-rwx /home/tuser1 2.编辑/etc/group文件,添加组hadoop; &…

    Linux干货 2016-11-23
  • Vim编辑器使用详解

    Vim编辑器使用详解 vim介绍 为什么要学习vim vim三种模式 vim工作模式(图解) vim如何打开文件 vim关闭文件 命令模式光标跳转 字符间跳转: 单词间跳转: 行首行尾跳转: 行间移动: VIM的命令模式下的命令: 字符编辑: 替换命令(r, replace) 删除命令: 复制命令 粘贴命令(p, paste): : 其他相关的编辑操作: 翻…

    Linux干货 2016-09-06

评论列表(1条)

  • stanley
    stanley 2016-04-05 23:04

    了解下标签的作用,要认真写