加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – * Perl 6中的量词

发布时间:2020-12-13 21:53:10 所属栏目:百科 来源:网络整理
导读:这似乎是我在这里不理解的非常基本的东西. 为什么“babc”不匹配/ a * /? "abc" ~~ / a /?a? "abc" ~~ / a * /?a? "babc" ~~ / a * /?? # WHY? "babc" ~~ / a + /?a? 这里的答案是正确的,我只是尝试以更连贯的形式呈现它们: 匹配始终从左侧开始 正则表达式
这似乎是我在这里不理解的非常基本的东西.

为什么“babc”不匹配/ a * /?

> "abc" ~~ / a /
?a?
> "abc" ~~ / a * /
?a?
> "babc" ~~ / a * /
??                    # WHY?
> "babc" ~~ / a + /
?a?
这里的答案是正确的,我只是尝试以更连贯的形式呈现它们:

匹配始终从左侧开始

正则表达式引擎始终从字符串的左侧开始,并且优先选择最长匹配的最左侧匹配

*匹配空字符串

正则表达式a *匹配可以匹配字符串”,’a’,’aa’等.
它总是更喜欢它找到的最长匹配,但它找不到比空字符串更长的匹配,它只是匹配空字符串.

把它放在一起

在’abc’~~ / a * /中,正则表达式引擎从位置0开始,a *匹配尽可能多的a,因此匹配第一个字符.

在’babc’~~ / a * /中,a *只能匹配零个字符.它成功地做到了.由于整体比赛成功,因此没有理由在第1位再次尝试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读