• :在线测试工具暂时不可用,小伙伴们可以使用本地编辑器来代替,绿叶全新版本正在快马加鞭开发中,比心~

1.9 定位符

一、什么是定位符?

正则表达式中,定位符,说白了,就是限定某些字符出现的位置。

常用的正则表达式定位符如下:

正则表达式定位符
定位符 说明
^ 限定开始位置的字符
$ 限定结尾位置的字符
\b 限定单词(字)边界的字符
\B 限定非单词(字)边界的字符

二、常用定位符

1、^

在正则表达式中,使用^定位符来限定开始位置的字符。

举例1:

 
^a

分析:

由于使用了^定位符,因此字符串中必须以a开头。所以匹配上面正则表达式的字符有abc、absolute等以a开头的字符串,但是back、123等就不匹配了。

正则表达式测试工具验证效果如下:

正则表达式定位符

举例2: 深入了解上尖号

 
^a
[^a]

分析:

上尖号的使用有2种情况:(1)定位符;(2)[^…]元字符。

很多初学者容易混淆上尖号,其实大家可以这样理解:上尖号,只有一种特殊情况,就是[^…]这种元字符的时候,上尖号才表示“非”,其他情况,上尖号都是表示定位符。

2、$

在正则表达式中,使用$定位符来限定结尾位置的字符。

举例:

 
$a

分析:

由于使用了$定位符,因此字符串中必须以a结尾。所以匹配上面正则表达式的字符串有panda、nana等以a结尾的字符串,但是abc、helicopter等就不匹配了。

3、\b

在正则表达式中,使用$定位符来限定一个单词开始或结束时的字符。怎么理解呢?请看下面的例子。

\b包含了字与空格间的位置,以及目标字符串的开始和结束位置等。

举例1:

 
er\b

分析:

“er\b”匹配“order to”中的er,但不匹配“verb”中的“er”。

举例2:

 
\ba[a-z]{7}\b

分析:

上面正则表达式匹配以字母“a”开头的长度等于8的任意单词。因此\b限定了单词的开头和结尾。

使用2个\b来匹配一个单词,这是very very 常用的方法。如果大家以后见到正则表达式中有2个\b,也应该知道这是匹配单词的。

4、\B

在正则表达式中,使用\B定位符来限定一个非单词开始或结束时的字符。

举例:

 
er\B

分析:

“er\B”匹配“verb”中的“er”,但不匹配“order”中的“er”。

\B用得比较少,而\b用得更多一些,因为往往都是\b来匹配一个单词什么,也很好用。

总结

1、常用的正则表达式定位符如下:

正则表达式定位符
定位符 说明
^ 限定开始位置的字符
$ 限定结尾位置的字符
\b 限定单词(字)边界的字符
\B 限定非单词(字)边界的字符

初学者记不住也没关系,以后用到的时候回这里来查就知道了,查多几次,就记得了。

:本站所有教程均为原创,大部分已经与人民邮电出版社合作出版,禁止转载和抄袭,否则绿叶学习网和人民邮电出版社必将追究法律责任,附录:互联网著作权保护法。【法律顾问:张俊律师】

小伙伴们也可以加一下QQ群,在“群文件”中可以获取学习资源以及配套资源,以及跟其他小伙伴交流,站长也在群内。

(1)QQ群:519225291(暗号:lvye

(2)绿叶学习网常见问题解答

回到顶部