Longest

Longest[p]

是一个模式对象,它匹配具有模式 p 的最长序列.

更多信息

  • Longest 同时处理普通的表达式模式和字符串模式.
  • 如果在同一个表达式中出现了许多个 Longest 对象,那些第一次出现的与最长序列相匹配的对象被赋予更高的优先级.
  • Longest[p,pri] 给出最长序列优先级 pri. 最长序列匹配尽可能尝试使用高优先级的 Longest 对象.
  • 优先级可以是任何表达式,并且按标准 Mathematica Sort 次序排序. Longest[p] 指定最高可能优先级.
  • 具有相同优先级的 Longest 对象按它们出现在表达式中的顺序尝试进行计算.
  • 如果没有给出明确的 LongestShortest,普通的表达式模式通常被假设为 Shortest[p],而字符串模式被假设为 Longest[p]. »
  • LongestOptional 结合使用时具有特殊意义. Longest[patt:def] 首先会尝试匹配模式 patt,然后才会尝试匹配值 def. 如果在使用 Optional 时没有明确说明 LongestShortest,那么它实际上是封装于 Longest. »
  • 对于普通的表达式,Longest[p] 指定不仅是 p 本身,而且 p 的所有部分也都应该匹配最长序列.
  • Longest[p] 对应于贪婪模式(greedy pattern).
  • 如果模式中其他处由另外的约束,Longest[p] 可能不对应匹配 p 的绝对最长表达式.

范例

打开所有单元关闭所有单元

基本范例  (1)

通过 Longest 控制有歧义的匹配:

范围  (2)

Longest 适用于字符串模式:

使用优先权影响不确定性的选择:

应用  (2)

找出整数的最长序列:

考虑以下可变长度的变量函数:

Longest 来把它表示为一个模式:

属性和关系  (4)

对于表达式,当模式中有连续的序列时,最后一个实际上被封装在 Longest 中:

对于字符串模式,Longest 给出所有最大长度的贪婪匹配项:

对于普通模式,大多数模式都可以有效地封装于 Shortest

字符串模式有效封装于 Longest 中:

Shortest[patt:def] 首先尝试使用 def,然后才是 patt

LongestOptional 组合时,顺序会颠倒:

这是都不使用封装器时的默认行为:

可能存在的问题  (3)

有其他约束条件时,Longest 可能不匹配绝对最长的序列:

对于字符串模式,Longest 将匹配所有最长的字串,而不仅仅是绝对最长的字串:

在字符串表达式中不支持优先级:

Wolfram Research (2007),Longest,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Longest.html.

文本

Wolfram Research (2007),Longest,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Longest.html.

CMS

Wolfram 语言. 2007. "Longest." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/Longest.html.

APA

Wolfram 语言. (2007). Longest. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Longest.html 年

BibTeX

@misc{reference.wolfram_2024_longest, author="Wolfram Research", title="{Longest}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/Longest.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_longest, organization={Wolfram Research}, title={Longest}, year={2007}, url={https://reference.wolfram.com/language/ref/Longest.html}, note=[Accessed: 22-November-2024 ]}