perl语言中正则表达式锚位与单词锚位的区别

请问下锚位与单词锚位的区别/^fred$/和/\bfred\b/??/\bsearch\B/为什么不能匹配search,但是能匹配searched呢?小骆驼书中\B是只能... 请问下锚位与单词锚位的区别/^fred$/和/\bfred\b/??
/\bsearch\B/为什么不能匹配search,但是能匹配searched呢?
小骆驼书中\B是只能匹配\b不能匹配的位置,这是什么意思呢
展开
 我来答
百度网友c9e795dda
2012-10-20 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1154万
展开全部
/^...$/ 要搜索的是整个字串的开始和结束, 这字串可以是一片文章的长度, 多行, 当然也可以只是几个字.

\b 和 \B 是 word boundary 和非 word boundard 的意思. 那甚麼是 word boundary 呢 ? 就是这个字的後面是否出现非 word ( 即 \W 或 ^\w ) 字符.
" xyz" =~ \bxyz; # true
"xyz" =~ \bxyz; # false
"xyz" =~ /xyz\b; # false. 因为 z 之後就是 $, 字串的完结, 所以是 false, 你的例子中不能匹配 search 也是这个原因

perl 中的 regex, 大部份都以 \小写 来表达 "是" 的意思, 而以 \大写 来表达 "非" 的意思. 书中的说法只是说的比较哲学性地表违这个意思了. 当然 "是" 的相反就是 "非" 啦
zqlasasa
2012-10-30
知道答主
回答量:5
采纳率:0%
帮助的人:5.8万
展开全部
是因为\B为非单词边界锚位,/\bsearch\B/的意思是单词前面包含search,但不是就此结束,而是后面还应该有其它字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式