返回介绍

17.7.5 交集(具有长度限制的与操作)

发布于 2020-09-09 22:55:53 字数 765 浏览 1049 评论 0 收藏 0

当我们希望两个操作数能够匹配,并且操作数序列的结束时间必须相同的时候,我们可以使用intersect二元操作符。

sequence_expr ::=    // 引用自附录A.2.10
    ...
  | sequence_expr intersect sequence_expr

语法17-7 — 交集操作符语法(摘录自附录A)

intersect操作的两个操作数都是序列。intersect操作匹配的要求如下:

  • 两个操作数都必须匹配。
  • 操作数序列的两个匹配长度必须相同。
有关序列长度的其它要求是and操作与intersect操作的基本差别。

一个intersect序列的计算尝试会产生多个匹配。这样的一个尝试的结果可以按如下方式计算。

  • 具有相同长度的第一个和第二个操作数的匹配是成对的。每一个这样的对都会产生一个复合序列的匹配,其长度和结束点等于操作数序列成对匹配的共享长度和结束点。
  • 如果没有找到这样的对,那么复合序列不会匹配。
除了使用intersect替代and外,图17-7类似于图17-5。在这个例子中,与图17-5不同,只在时钟标记12处具有单个匹配。

图17-7 — 两个序列的交集

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文