百科狗-知识改变命运!
--

锚和句点 - php 表达式

乐乐12个月前 (11-21)阅读数 10#技术干货
文章标签字符

锚和句点

在一个字符类外面,在默认匹配模式下,^是一个断言当前匹配点位于目标字符串开始处的断言。在一个字符类内部,^表明这个字符类中描述的字符取反(详见下文)。

^并不一定要是模式的第一个字符, 但是如果处于某个可选分支时, 它应该是该分支的首字符。如果所有选择分支都以^开头,这就是说, 如果模式限制为只匹配目标的开头, 它被称为是一个 ”紧固” 模式。(同样也有其他方式可以构造出紧固模式)

锚和句点 - php 表达式

$是用于断言当前匹配点位于目标字符串末尾, 或当目标字符串以换行符结尾时当前匹配点位于该换行符位置(默认情况)。$不一定要作为模式的最后一个字符,但是如果它在某个可选分支中时, 就应该位于该分支的末尾。$在字符类中没有特殊的意义。

$的意义可以通过在编译或匹配时设置 PCRE_DOLLAR_ENDONLY 改变为只匹配字符串末尾。 这不会影响 \Z 断言的行为。

^$字符的意义在 PCRE_MULTILINE 选项被设置时会发生变化。 当在这种情况下时, 它们匹配每一个换行符后面的和前面的字符,另外, 也会匹配目标字符串的开始和结束。比如, 模式 /^abc$/ 在多行模式下会成功匹配目标字符串 ”def\nabc”, 而正常情况下不会。因此,由于所有的可选分支都以 ^ 开始, 在单行模式下这成为紧固模式,然而在多行模式下,这是非紧固的。 PCRE_DOLLAR_ENDONLY 选项在PCRE_MULTILINE 设置后失效。

注意: \A、\Z、 \z 等转义序列可以在任何模式下用于匹配目标字符串的开始和结束位置。 并且如果模式的所有分支都以 \A 开始,它同样是紧固的, 而与 PCRE_MULTILINE 是否设置无关。

Outside square brackets : assert start of subject (or line, in multiline mode)
Inside square brackets : negate the class, but only if the first character
[^0] which means - all but 0 
[^A] which means - all but A & so on

句点

在字符类外部,模式中的句点匹配目标字符串中的任意字符,包括非打印字符, 但是(默认)不包括换行符。如果 PCRE_DOTALL 被设置,句点就会匹配换行符。 句点的处理和^、$的处理没有关联,它们唯一的关系是它们都涉及到了换行符。 句点在字符类中没有任何意义。

\C可以被用于匹配单字节, 也就是说在UTF-8模式下,句点可以匹配多字节字符。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)