码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式入门(三)边界

时间:2016-10-24 23:29:48      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:取消   regex   效果   code   入门   写入   ota   正则表达   文本框   

零宽度断言不匹配字符,而是匹配字符串中的位置。比如^和$,也叫做锚位符。
行的起始与结束
要匹配行或字符串的起始要用脱字符

^

要匹配行或字符串的结尾要用美元符

$
^How.*Country\.$

这个匹配以How开头的整行。最后的\.是转义字符,匹配点号.。如果想要匹配作为字面值的点号,必须将点号转义或者将其放入字符组中。
如果不勾选multiline但是勾选dotall的情况下,输入

^THE.*\?$

它匹配了整个文本。
dotall选项表示点号除了匹配其他字符外,还会匹配换行符。如果取消doall,则它什么都不匹配。

^THE.*

在取消dotall的情况下只匹配了第一行。
单词边界与非单词边界

\bTHE\b

\b是个零宽度的断言,因为它匹配的东西其实是没有宽度不存在的东西,它匹配了单词THE

\Be\B

它匹配了字母e,e的两边都是非单词字符
指定单词的边界的另一种方法:

\<

指定单词开头

\>

指定单词结尾
这是旧语法,在最新的正则程序中无法使用。但有些情况很有用。因为它不想\b匹配任意单词边界,允许分别匹配。
其他锚位符
\A匹配字符串开头,\Z匹配字符串结尾,但这个写法不是在所有正则程序中可用。
使用元字符的字面值
可以使用\Q和\E之间的字符集匹配字符串字面值。
为了展示,在RegExr下方文本框中输入以下元字符:

.^$*+?|(){}[]\-

这15个元字符有特殊含义,用来编写匹配模式。
如果在RegExr上方文本框中写入这些字符,不会有效果,因为RegExr会以为这是正则表达式而不是字符串字面值。

\Q$\E

它将匹配$,因为\Q和\E之间的任意字符都会被解释为普通字符。而可以在元字符之前加一个\使其匹配字面值。
小结:

1.开始和结束分别是^,$

2.单词和非单词把边界是\b,\B

3.\Q和\E之间的任意字符都会被解释为普通字面字符

正则表达式入门(三)边界

标签:取消   regex   效果   code   入门   写入   ota   正则表达   文本框   

原文地址:http://www.cnblogs.com/hahazexia/p/5994920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!