主要内容

maskedPattern

模式与指定的显示名称

描述

例子

newpat= maskedPattern (帕特)创建一个模式,它使用的输入名称帕特当显示的模式表达式newpat。您可以使用maskedPattern为了简化长,复杂的模式表达式通过隐藏的一些细节表达。

例子

newpat= maskedPattern (帕特,面具)指定要显示一个名字,面具时,显示的模式表达式newpat

例子

全部折叠

使用maskedPattern显示一个变量代替复杂的模式表达式。

构建一个模式匹配简单算术表达式组成的数字和算术运算符。

mathSymbols = asManyOfPattern (digitsPattern | characterListPattern (“+ - * / = "),1)
mathSymbols =模式匹配:asManyOfPattern (digitsPattern | characterListPattern (" + - * / = "), 1)

建立一个模式匹配使用算术表达式之间的空白字符mathSymbols

longExpressionPat = asManyOfPattern (mathSymbols + whitespacePattern) + mathSymbols
longExpressionPat =模式匹配:asManyOfPattern (asManyOfPattern (digitsPattern | characterListPattern (" + - * / = "), 1) + whitespacePattern) + asManyOfPattern (digitsPattern | characterListPattern (" + - * / = "), 1)

显示的模式表达式很长,难以阅读。使用maskedPattern显示变量名,mathSymbols的模式表达式。

mathSymbols = maskedPattern (mathSymbols);shortExpressionPat = asManyOfPattern (mathSymbols + whitespacePattern) + mathSymbols
shortExpressionPat =模式匹配:asManyOfPattern (mathSymbols + whitespacePattern) + mathSymbols显示所有的细节

创建一个字符串包含一些算术表达式,然后从文本中提取模式。

txt =“1 + 1的答案是什么?哦,我知道!1 + 1 = 2 !”;shortExpressionPat算术=提取(txt)
算术=2 x1字符串“1 + 1”“1 + 1 = 2”

使用maskedPattern显示为一个复杂的模式表达式指定的名称。

构建两个模式:一个匹配的单词与字母D开始和结束,和一个相匹配的开始和结束的单词以字母R。

dWordsPat = letterBoundary + caseInsensitivePattern (“d”+ lettersPattern +“d”)+ letterBoundary;rWordsPat = letterBoundary + caseInsensitivePattern (“r”+ lettersPattern +“r”)+ letterBoundary;

使用maskedPattern显示一个指定名称的模式表达式。使用蒙面模式,构建一个模式发现单词的开始和结束与D紧随其后的是一个单词的开始和结束。

dWordsPat = maskedPattern (dWordsPat,“与D开始和结束的单词”);rWordsPat = maskedPattern (rWordsPat,“与R单词的开始和结束”);dAndRWordsPat = dWordsPat + whitespacePattern + rWordsPat
dAndRWordsPat =模式匹配:开始和结束的单词与D + whitespacePattern +单词的开始和结束与R显示所有的细节

创建一个字符串,然后从文本中提取模式。

txt =“爸爸,看看分裂河!”;dAndRWordsPat词=提取(txt)
话说= " /河”

创建自定义模式的功能和使用maskedPattern隐藏详细信息。

创建一个函数atLeastOneOfPattern这需要输入模式帕特并创建一个模式,newPat,相匹配的一个或多个连续的实例帕特。使用maskedPattern当显示隐藏模式的细节。

函数newPat = atLeastOneOfPattern (pat)参数帕特模式结束newPat = asManyOfPattern (pat, 1);newPat = maskedPattern (newPat组成(“atLeastOneOfPattern (% s)”(pat));结束

调用atLeastOneOfPattern与输入“一个”和显示newPat

newPat = atLeastOneOfPattern (“一个”)
newPat =模式匹配:atLeastOneOfPattern (“a”)显示所有的细节

创建一个模式hexDigit匹配从0 - 9数字字符和字母从fcharacterListPattern。自characterListPattern是大小写敏感的,使用caseInsensitivePatternhexDigit比赛无论性格。

hexDigit = characterListPattern (' 0 ',“9”)| characterListPattern (“一个”,“f”);hexDigit = caseInsensitivePattern (hexDigit);hexDigit = maskedPattern (hexDigit)
hexDigit =模式匹配:hexDigit显示所有的细节

hexDigit匹配单个位的十六进制数字。匹配完整的十六进制数字通过构建一个模式匹配的文字文本“0 x”紧随其后的是一个或多个事件hexDigit

hexNumberPattern =“0 x”+ asManyOfPattern (hexDigit, 1)
hexNumberPattern =模式匹配:“0 x”+ asManyOfPattern (hexDigit, 1)显示所有的细节

使用这种模式从一个字符串中提取十六进制数字。

hexNumbers =提取(“答案是0 x2a”hexNumberPattern)
hexNumbers = " 0 x2a”

输入参数

全部折叠

输入模式,指定为一个模式字符串数组,特征向量,或单元阵列特征向量。

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

戴面具的模式名称、指定为一个字符串标量特征向量,或单元阵列特征向量。

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

输出参数

全部折叠

输出模式,作为一个返回模式或模式对象数组。

版本历史

介绍了R2020b