正则表达式简述

正则表达式简述

什么是正则表达式:

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

相关推荐

  • 计算机原理

    计算机由CPU、存储器、输入设备、输出设备组成。 CPU的功能:对数据运算加工,控制设备等 存储器的功能:存储数据,加载程序 输入设备:下指令,提供数据等 输出设备:输出数据加工的结果 linux发行版本:Debian:ubuntu、knopix Slackware:S.u.S.E、SLES、openSUSE RedHat:Redhat 9.0、RedHat…

    Linux干货 2017-12-04
  • grep &&正则表达式&&通配,元字,转义符

    grep 基于正则表达式的查询 1正则表达式: 正则表达式是通过使用特殊的字符所编写的模式,一些字符不表示字符的表面意思,具有控制和通配的功能. 使用正则表达式进行匹配具有两种方法:一是通过使用特殊的元字符进行字符匹配;二是使用次数匹配。 一, 正则表达式的特殊字符(元字符) :  #建议再温习一下之前所学的统通配符,对比一下,防止混淆。 (1)元…

    Linux干货 2016-08-05
  • 第4周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     ~]# cp -r /etc/skel/ /home/tuser1     ~]# chmod 700 /home/tuser1/ 2、…

    Linux干货 2016-12-25
  • 网络班N22期第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 打开文件: ~]# vim [options] [file ..]       +#:打开文件后,直接让光标处于第#行       +/PART…

    Linux干货 2016-09-26
  • HA Cluster:keepalived

    HA Cluster 集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP 系统可用性的公式:A=MTBF/(MTBF+MTTR) 系统故障: 硬件故障:设计缺陷、wear out、自然灾害 软件故障:设计缺陷 提升系统高用性的解决方案之降低MTTR: 解决方案:冗余(redundant) acti…

    Linux干货 2017-06-26
  • 马哥教育网络班18期+第10周课程练习

    博客作业10周.md—E:\Documents CentOS启动流程 1. 加电自检 2. 引导加载次序:BOOT Sequence 3. bootloader: 4. GRUB引导加载器 5. 进入Kernel 6. 运行init 7. 运行初始化脚本 8.启动系统服务 9. 设置登陆终端 整体总结 习题 习题1 习题2 习题3 习题4 习题5 习题6 练…

    Linux干货 2016-06-23

评论列表(1条)

  • stanley
    stanley 2016-04-05 23:04

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