温馨提醒

亲爱的游客,你的浏览器太旧啦.都啥年代了.为了你的安全,为了你的体验,为更好的浏览本页, 赶紧更新一把吧.....本博客不支持ie8以下浏览器,如果你使用的是ie浏览器,请您更新到ie8或以上版本.

推荐使用谷歌浏览器(chrome)或火狐浏览器(Firefox),点击下方按键进行安装

码农部落

  ——好记性,不如烂博客!

正则表达式的语法:元字符详解

如果想灵活的运用正则表达式,发必须了解其中各种无字符的功能,元字符从功能上大致分为:

  1. 限定符
  2. 选择匹配符
  3. 分组组合和反向引用符
  4. 特殊字符
  5. 字符匹配符
  6. 定位符

限定符:用于指定前面的字符和组合项连续出现多少次

{n}说明:

n表示出现的次数,比如a{3}相当于aaa

1{4}相当于1111

 

{n,m}说明:

表示至少出现n次,最多出现m次,比如a{3,4},1{3,4}

用 1{3,4}去匹配111111会得到这样一个结果:1111 111

即:默认匹配中使用贪婪匹配的原则,即尽可能匹配多的字符串。

 

+说明

表示出现1次到任意多次。如/1+/gi 去匹配11111会一次匹配完

 

*说明

*表示出现0次到任意多次,比如/a*/gi,/al*/gi

 

?说明

表示出现0到1次:比如/a1?/gi去匹配a2222,就只得到a,因为1可以不出现

 

字符匹配符[]

[a-z]说明

表示可以匹配a-z中的任意一个字符,比如/[a-z]/gi表示a-z任意一个字符

/[a-z]{2}/gi表示a-z任意两个连字符

[0-9]说明

表示可以匹配0到9中任意一个数

[^a-z] 表示可以匹配不是a到z中的任意一个字符。

 

字符匹配符

\d 表示可以匹配0到9的任意一个数相当于[0-9]

\D表示可以匹配不是0到9的任意一个数相当于[^0-9]

\w 匹配任意英文字符,数字和下划线,相当于[a-zA-Z0-9_]

\W 相当于[^a-zA-Z0-9_]刚好和\w相反

\s 匹配任意空白字符(空格,制表符等)

\S 匹配任意非空白字符,和\s相反

.  匹配出\n之外的所有字符,如果要匹配. 本身则需要使用\.

转义符号\

需要用到转义符号的字符有以下:

. * + ( ) / \ ? [ ] ^ { }

定位符

定位符用于 规定要匹配的字符串出现的位置,比如在字符串的开始还是在结束的位置,这个也是相当有用的。

^符号 说明:匹配目标字符串的开始位置

比如/^han/gi 去匹配”hanshuping han han ”会得到han

如果去配置”ahanshuping han han ”会什么也匹配不到,

$符号 说明:匹配目标字符串的结束位置

比如/^han/gi 去匹配”hanshuping han han ”会得到han

选择匹配符

有时候,我们在匹配某个字符串的时候是选择性的,即:既可以匹配这个,又可以匹配那个,这时你需要用 选择匹配符号|

如:\(han|韩)\gi

码农部落
声明:本博客文章多数为博主笔记,绝无版权问题,欢迎转载(能注明出处更好),有任何问题,请在下方评论框留言.


发表评论

电子邮件地址不会被公开。 必填项已用*标注