主要内容

possessivePattern

匹配模式,不回溯

描述

例子

newpat= possessivePattern (帕特创建一个内部不回溯的模式帕特一次帕特匹配。

如果一个字符可以由表达式中的多个模式匹配,例如与alphanumericsPattern + digitsPattern,可以测试所有可能的匹配组合,以试图找到一个成功的匹配。这个过程叫做回溯

possessivePattern防止回溯,所以一旦possessivePattern如果匹配,则匹配的文本将不再能够被模式表达式的其他部分匹配,即使这会导致模式匹配失败。使用possessivePattern通过限制测试以查找匹配的可能模式组合来提高性能。

例子

全部折叠

使用possessivePattern因此,一旦模式的所有格部分匹配,就不存在回溯。这将防止模式表达式中的其他模式进行匹配。

创建三种作为由字母和数字字符组成的字符串。创建nonpossessive作为一种与字母或数字匹配的模式alphanumericsPattern后接数字digitsPattern.就其本身而言,alphanumericsPattern匹配整个字符串,但它允许回溯,因此digitsPattern也能匹配。

txt =“abc123”;non所有格= alphanumericpattern + digitpattern;nonpossessive successfulMatch =包含(txt)
successfulMatch =逻辑1

使alphanumericsPattern所有格。占有欲防止回头路,所以alphanumericsPattern匹配整个字符串,不允许回溯digitsPattern也要匹配。这个属性会导致所有格不匹配三种

所有格=所有格模式(alphanumericpattern) +数字模式;unsuccessfulMatch =包含(txt、所有格)
unsuccessfulMatch =逻辑0

输入参数

全部折叠

输入模式,指定为模式、字符串数组、字符向量或字符向量的单元格数组。

数据类型:字符|字符串|模式|细胞

输出参数

全部折叠

输出模式,返回为模式或者模式对象的数组。

版本历史

介绍了R2020b

Baidu
map