整理正则表达式基础理论部分(一)

整理下正则表达式的基础理论部分,分享下,欢迎纠正。

1元字符:

匹配位置:

 

^ 脱字符号,匹配行的开始。^String被匹配的行的第一个字符串是String

$ 美元符号,匹配行的结尾。String&String结尾的行。

/b 匹配单词的开始和结尾,不匹配空格符号,标点符号或换行符号分隔。/bstrstr开头的字符串,且str之前是单词的分界处。

^string$只包含string

^$不包含任何字符串

匹配字符:

.(点号)匹配除换行符的任意字符。2007.06.22匹配除了换行符之外的任何字符串“2007”“06”“22”的字符串。如:2007/06/22也可匹配。

/w匹配单词字符(包括字母,数字,下划线和汉字)/ba/w/w/w/w/w/w/w/b表示以字母“a”开头的长度等于8的任意单词。

         /W匹配除了单词字符以外的任意字符。

         /s匹配任意的空白字符,如空格,制表符,换行符等。

         /S匹配任意的非空白字符

         /d匹配任意的数字

         /D匹配任意的非数字字符

字符类:

[字母表]匹配字符集中的任何字符。[012354] <H[123456] >表示为<H1><H2><H3>…..

         [Jj]ack表示Jackjack

[^字母表]匹配除了字符集合中的任何字符。a[^b]表达匹配字符a之后不是字符串b的字符串。

/p{name}指定的命名字符中的任何字符。

/P{name}匹配除指定的命名字符中的任何字符。

字符转义:

/.匹配字符“.”。

         /*匹配字符*

         //匹配字符/.www/.my/.com表示www.my.com

         /a响铃

         /t制表符

         /r回车符

         /v垂直制表符

         /f换页符

         /n换行符

         /e 回退符(ESC

         /040ASCII字符匹配为八进制数(最多三位)

         /x20使用十六进制表示形式与ASII字符匹配

         /CcASCII 控制字符,如Ctrl_C

         /u0020 使用十六进制数表示形式(恰好四位)与Unicode字符匹配

反义:

       /B匹配不是单词开头和结束的任何字符。

<asp[^>]>表示匹配被尖括号括起来的,以字符串“asp”开头的,之后字符不能为字符“>”。

 

限定符:

    贪婪匹配:

         {n}重复n/d{3}等同于/d/d/d

         {n,m}重复至少n次,最多m/d{3,4}三位或四位的整数

         *重复至少0次,等同于{0,}

         +重复至少1次,等同于{1,}

?重复0次或1次,等同于{0,1}Colou?r表示匹配“Color”或“Colour”。u?表示u可以出现一次或不出现。

懒惰匹配:

*?尽可能少的使用重复的第一个匹配。a.*b匹配以字母a开头的,以字母b结束的最长的字符串。aabab=aabab.  a.*?b匹配以字母a开头的以字母b结束的最短字符串。aabab=aab  ab

+?尽可能少的使用重复但至少使用一次。a.+b匹配以字母a开头的,以字母b结束的长度至少为3的字符串。avbab=avbab a.+?b 长度至多为3avbab=avb

?? 使用0次重复(如有可能)或一次重复

{n}?等同于{n}

{n,}?尽可能少的重复单至少使用n次。a.{1,}b  avbab=avbab   a.{1,}?b avbab=avb

{n,m}? 介于n次与m次之间,尽可能少的使用重复。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值