正则表达式简述

正则表达式简述

什么是正则表达式:

正则表达式,又称正规表示法、常规表示法(英语: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

相关推荐

  • 马哥教育网络班22期+第14周课程练习

    系统的INPUT和OUTPUT默认策略为DROP;   iptables -P INPUT DROP   iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了adm…

    Linux干货 2016-12-05
  • Nginx 功能概述与基础应用!

           本篇博客主要有三个部分组成,目的在于让大家了解ningx的主要功用及作为web server的基础配置;通过本篇博客能够让您对nginx理解更加深入,以便于更好的使用它!                  …

    2017-05-14
  • yum相关知识及源码编译安装http

    二.源码编译安装http 获得源码,将源码放在/usr/local/src下,并将其解压缩到此目录下 进入解压缩文件下,查看INSTALL文件 文件内容如下 黄色区域即为安装步骤 在当前目录下执行./configure –prefix=/usr/local/appach2 编译  make make install  把目标文…

    系统运维 2016-08-24
  • shell脚本之变量、运算、条件测试。

    概述 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指令; 编程语言: 低级:             汇编 高级:…

    Linux干货 2016-08-15
  • Linux网络属性配置

      一台主机想要接入网络就必须配置相关的网络属性,如:主机名、IP地址、子网掩码、网关、DNS等,下面总结了网络属性的配置方法。 一、配置主机名   主机名配置有两种方式:命令和配置文件。   1、hostname命令    可以使用hostname命令来配置主机名,不过这样配置的主机名不会永久生效,只能在当…

    Linux干货 2016-01-06
  • N22-第二周作业

    1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。    文件管理命令        mkdir     创建目录         &…

    Linux干货 2016-08-22

评论列表(1条)

  • stanley
    stanley 2016-04-05 23:04

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