1、单词边界
the cat scattered his food all over the room
正则表达式 cat
匹配结果
cat
cat
用 指定单词边界,用来匹配一个单词的开始或结尾
the cat scattered his food all over the room
正则表达式 cat
匹配结果
cat
注意: 匹配的是一个这样的位置,这个位置位于一个能够用来构成单词的字符(字母、数字和下划线,也就是与w相匹配的字符)和一个不能用来构成单词的字符(也就是与W相匹配的字符)之间。只匹配一个位置,不匹配任何字符。cap匹配到的字符串的长度是3个字符(c、a、t)不是5个字符。
The captain wore his cap and cape proudly as he sat listening to the recap of how his crew saved the men from a capsized vessel.
正则表达式 cap
匹配结果只有1个
cap
cap只匹配cap单词本身
正则表达式 cap 匹配结果有4个 cap cap cap cap
cap匹配以字符序列cap开头任何一个单词
正则表达式 cap
匹配结果有2个
cap
cap
cap匹配以字符序列cap结束的任何一个单词
2、不匹配一个单词边界
B 不匹配一个单词边界
Please enter the nine-digit id as it appears on your color - coded pass-key. 正则表达式 B-B 匹配结果 只有一个 - B-B匹配一个前后都不是单词边界的连字符。nine-digit、pass-key中的连字符都是前后有单词边界,所以不能与之匹配。但color - coded中的连字符可与之匹配。
3、字符串边界
单词边界可以用来进行与单词有关的位置匹配(单词的开头、单词的结束、整个单词等)。
字符串边界有着类似的用途,只不过是用来进行与字符串有关的位置匹配而已(字符串的开头、字符串的结束、整个字符串等)
用来定义字符串边界的元字符有两个:一个定义字符串开头的^ ,另一个是定义字符串结尾的$。
^是有多种用处的元字符,只有当它出现在一个字符集合里([^0-9]表示非数字),发挥一个“求非”的作用
如果不在字符集合里则匹配字符串的开头。
<?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions targetNamespace="http://tips.cf" xmlms:impl="http://tips.cf" xmlns:intf="http://tips.cf" /> <?xml version="1.0" encoding="UTF-8" ?> 正则表达式 ^s*<?xml.*??> 匹配结果 <?xml version="1.0" encoding="UTF-8" ?> 匹配的是xml文档,xml文档是以<?xml version="1.0" encoding="UTF-8" ?>为开头的
^s*<?xml.*??>中的^是匹配字符串开头位置,s*允许有零个或多个空白字符,.*是匹配零个或多个任意字符,.*?是.*懒惰型的元字符,解决.*贪婪型的行为。?是匹配?本身。
web页面里,是以标签</html>结尾的。
<html>
<body>
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
</body>
</html>
正则表达式 </[Hh][tT][mM][lL]>s*$
匹配结果 </html>