前一篇: Perl 中的内置变量
后一篇:正则表达式的敏感性和特殊性
正则表达式中的位置元字符
2007年07月27日 原创
在正则表达式中,位置元字符又被称为“零宽度断言”,指的是匹配位置但不返回(或返回零宽度的)匹配内容的模式。
^--匹配字符串(或多行模式下行)的开始位置;
$--匹配字符串(或多行模式行下)的结束位置;
\b--匹配位于 \w 字符和 \W 字符之间的位置(又称词边界)。
\B--匹配位于字符之间的位置(即非 \w 字符和 \W 字符之间的位置)。
\A--匹配一个字符串的开始位置。其行为不受多行模式的影响(PHP)。
\z--匹配一个字符串的结束位置。其行为不受多行模式的影响(PHP)。
对于测试字符串 look at this. 而言,在多行模式下,正则表达式 this$ 不会匹配其结尾处的 this,因为 $ 匹配行结尾的位置,而 this 中最后一个字符 s 之后并不是一个换行符,而是一个句点字符。若要匹配这个 this,必须使用正则表达式 this\b ,\b 匹配字母字符和非字母字符之间的位置,而 this 的最后一个字符 s 和其后面的句点字符之间的位置恰好是这样一个位置。
对于 \B 元字符,其用途如下:
如果你想匹配 golden 中的 old 就可以使用模式 \Bold\B ,这个模式匹配一个字符之间的位置后跟字符序列 o、l、d,后跟另一个字符之间的位置。也就是说,\B 不会匹配位于字符和非字符之间的位置,所以模式 \Bold\B 匹配的字符序列 old 一定是被包含在一个单词(或字符串)中间。
前一篇: Perl 中的内置变量
后一篇:正则表达式的敏感性和特殊性
为之漫笔(李松峰),本博客专注于Web前后端技术、移动平台开发技术、交互设计和技术翻译。声明一下,因为时常需要外出审稿,而且基本不带笔记本,所以有时可能会迟一点回复大家的留言。
Your article is useful for me. It is a good article.
The blog article very surprised to me! Your writing is good.
Who has deceiv'd thee so oft as thy self?
Thanks for your sharing!
Some sandals can also double as slippers or tods shoes sale, tods shoes sale.Some trainers may be used as running shoes or as tennis shoes;