匹配正则表达式(不区分大小写)
startIndex = Regexpi(str,表达式)
[StartIndex,EndIndex] = Regexpi(str,表达式)
= regexpi (str,表情,outkey)
[OUT1,...,OUTN] = regexpi(STR,表达,outkey1,...,outkeyN)
___= regexpi(___、option1 optionM……)
___= regexpi(___, ' forceCellOutput ')
的每个子字符串的起始索引startIndex.
= regexpi(str.
那表达
)str.
匹配由正则表达式指定的字符模式,而不考虑字母大小写。如果没有匹配,startIndex.
为空数组。
[
返回所有匹配项的起始和结束索引。startIndex.
那endIndex.
) = regexpi (str.
那表达
)
___= regexpi(___, ' forceCellOutput ')
将每个输出参数作为标量单元格返回。单元格包含数字数组或子字符串,它们被描述为前面语法的输出。您可以包含任何输入,并请求来自先前语法的任何输出。
找出以C
最后,T.
和包含在它们之间的一个或多个元音。
str ='蝙蝠猫可以剪切CT Cat-Scan';表达=“c(五个母音字母)+ t”;startIndex = Regexpi(str,表达式)
startIndex =1×45 17 28 35
价值startIndex.
指定与正则表达式匹配的每个单词的第一个字符的索引。
正则表达式“c(五个母音字母)+ t”
指定此模式:
C
必须是第一个字符。
C
必须后跟括号内的一个字符,[AEIOU]
.
用括号括起来的模式必须出现一次或多次,如+
操作符。
T.
必须是最后一个字符,在括号化模式之间没有字符T.
.
匹配表达式的全部或部分字母大小写。
默认情况下,regexpi.
执行不区分大小写的匹配。
str =一个带有大写和小写文本的字符向量;表达='\ W *案';matchStr = regexpi (str,表达式,“匹配”)
和matchstr =1 x2单元阵列{“大写”}{“小写”}
使用regexp.
函数的语法与regexpi.
执行区分大小写的匹配。
matchwithregexp = regexp(str,表达式,“匹配”)
matchwithregexp =.1 x1单元阵列{“小写”}
禁用区分大小写的匹配regexp.
, 使用“忽略大小写”
选择。
matchwithignorecase = regexp(str,表达式,“匹配”那“忽略大小写”)
matchWithIgnorecase =1 x2单元阵列{“大写”}{“小写”}
属性,对多个表达式启用和禁用不区分大小写的匹配(?I)
和(? -我)
搜索的旗帜。
表达= {'(?-i)\ W *案';...“(?我)\ w *案”};matchStr = regexp (str,表达式,“匹配”);celldisp (matchStr)
matchStr{1}{1} =小写matchStr{2}{1} =大写matchStr{2}{2} =小写
str.
-输入文本输入文本,指定为字符向量、字符向量单元格数组或字符串数组。单元格数组中的每个字符向量或字符串数组中的每个字符串都可以是任意长度并包含任意字符。
如果str.
和表达
是字符串数组或电池阵列,它们必须具有相同的尺寸。
数据类型:字符串
|字符
|细胞
表达
-正则表达式正则表达式,指定为字符向量,特征向量的单元阵列,或一个字符串数组。每个表达式可以包含字符,元字符,运营商,标记和标志指定模式来匹配在str.
.
下表描述了正则表达式的元素。
元字符
元字符代表字母、字母范围、数字和空格字符。用它们来构造一个通用的字符模式。
metacharacter |
描述 |
例子 |
---|---|---|
|
任何单个字符,包括空格 |
|
|
任何字符包含在方括号内。下列字符按原文: |
|
|
任何字符未包含在方括号内。下列字符按原文: |
|
|
范围内的任何字符 |
|
|
任何字母、数字或下划线字符。对于英文字符集, |
|
|
任何非字母、数字或下划线的字符。对于英文字符集, |
|
|
任何空白字符;相当于 |
|
|
任何非空格字符;相当于 |
|
|
任何数字;相当于 |
|
|
任何非原因的性格;相当于 |
|
|
八进制值的特征 |
|
|
十六进制值的特征 |
|
字符表示
操作符 |
描述 |
---|---|
|
报警(嘟) |
|
退格 |
|
换页 |
|
新行 |
|
回车 |
|
水平选项卡 |
|
垂直制表符 |
|
任何具有特殊含义的字符,在详细信息中,您想要匹配的正则表达式(例如,使用 |
量词
限定符指定模式在匹配文本中必须出现的次数。
量词 |
匹配的表达发生时... |
例子 |
---|---|---|
|
0以上连续倍。 |
|
|
0乘以1乘以。 |
|
|
连续1次或更多次。 |
|
|
至少
|
|
|
至少
|
|
|
确切地 相当于 |
|
量化器可以出现在下表中描述的三种模式。问:表示上表中的任何量词。
模式 |
描述 |
例子 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
贪婪表达式:匹配尽可能多的字符。 |
考虑到文本 文本 p> td>',该表达式 文本 p> td>'
惰性表达式:匹配尽可能少的字符。 考虑到文本 文本 p> td>',该表达式 所有格表达式:匹配尽可能,但不要重新扫描文本的任何部分。 考虑到文本 文本 p> td>',该表达式 |
分组操作符
分组操作符允许您捕获令牌、将一个操作符应用于多个元素或在特定组中禁用回溯。
分组操作符 |
描述 |
例子 |
---|---|---|
|
表达式和捕获令牌的组元素。 |
|
|
集团,但没有捕获令牌。 |
没有分组, |
|
组自动。不要在组内回溯以完成匹配,也不要捕获令牌。 |
|
|
匹配表达式 如果有匹配 您可以包括 |
|
锚
表达式中的锚匹配输入文本或单词的开头或结尾。
锚 |
匹配…… |
例子 |
---|---|---|
|
输入文本的开头。 |
|
|
输入文本的结束。 |
|
|
开头的单词的。 |
|
|
一个单词的结尾。 |
|
环视断言
环视断言查找紧跟在预期匹配之前或之后但不属于匹配部分的模式。
指针保持在当前位置,而对应于测试
表达式不会被捕获或丢弃。因此,前向断言可以匹配重叠的字符组。
看看断言 |
描述 |
例子 |
---|---|---|
|
向前看的字符匹配 |
|
|
提前查找不匹配的字符 |
|
|
看起来搭配匹配的人物 |
|
|
看起来不匹配的人物 |
|
如果指定了前向断言之前一个表达式,相当于一个逻辑运算和
.
操作 |
描述 |
例子 |
---|---|---|
|
匹配两个 |
|
|
匹配 |
|
逻辑和条件运算符
逻辑和条件运算符,可以测试给定条件下的状态,然后用结果来确定如果有的话,下一场比赛哪一种模式。这些运营商支持逻辑金宝app或
, 和如果
要么如果/其他
状况。
条件可以是标记、查找操作符或表单的动态表达式(? @cmd)
.动态表达式必须返回逻辑或数字值。
条件运算符 |
描述 |
例子 |
---|---|---|
|
匹配表达式 如果有匹配 |
|
|
如果条件 |
|
|
如果条件 |
|
令牌运营商
令牌是您通过包围在括号中的正则表达式的一部分限定了匹配的文本的部分。可以通过其在文本序列(序令牌),或者将名称指定给令牌更容易代码维护和可读的输出指一个令牌。
序数牌运营商 |
描述 |
例子 |
---|---|---|
|
在标记中捕获与括起来的表达式匹配的字符。 |
|
|
匹配 |
|
|
如果是 |
|
叫牌运营商 |
描述 |
例子 |
---|---|---|
|
在命名标记中捕获与所包含表达式匹配的字符。 |
|
|
匹配提到了令牌 |
|
|
如果找到命名令牌,则匹配 |
|
如果表达式有嵌套的括号,MATLAB®捕获与最外层圆括号集对应的标记。例如,给定搜索模式”(和(y |奖赏))”
,MATLAB创建令牌“安德鲁”
但不是'是'
要么“报答”
.
动态的正则表达式
动态表达式允许您执行MATLAB命令或正则表达式来确定要匹配的文本。
括号围住动态表情做不创建捕获组。
操作符 |
描述 |
例子 |
---|---|---|
|
解析 当解析, |
|
|
执行表示的MATLAB命令 |
|
|
执行表示的MATLAB命令 |
|
在动态表达式中,使用下列操作符来定义替换文本。
替换操作符 |
描述 |
---|---|
|
当前匹配的输入文本的部分 |
|
在当前匹配之前的输入文本的部分 |
|
当前匹配后面的输入文本的一部分(使用 |
|
|
|
叫牌 |
|
当MATLAB执行命令时返回的输出, |
评论
字符 |
描述 |
例子 |
---|---|---|
(? #评论) |
在正则表达式中插入注释。当匹配输入时,注释文本被忽略。 |
|
搜索标志
搜索标志修改匹配表达式的行为。在表达式中使用搜索标志的另一种方法是传递选项
输入参数。
国旗 |
描述 |
---|---|
(? -我) |
匹配字母大小写(默认为 |
(?I) |
不匹配信箱(默认为 |
(?s) |
匹配点( |
(? - s) |
用非换行符的任何字符匹配模式中的点。 |
(? - m) |
匹配 |
(?M) |
匹配 |
(?-x) |
在匹配时包括空格字符和注释(默认)。 |
x (?) |
忽略空格字符和匹配时评论。使用 |
该标志可以修改括号后任一出现,如表达
(?i)\ w *
或在括号内,用冒号与标志分开(:
),比如
(?我:\ w *)
后一种语法允许您更改较大表达式的部分行为。
数据类型:字符
|细胞
|字符串
外卖
-关键字,指示要返回哪个输出“开始”
(默认)|“结束”
|“tokenExtents”
|“匹配”
|“令牌”
|'名字'
|“分裂”
关键字,指示要返回的输出,指定为以下字符向量之一。
输出关键字 |
回报 |
---|---|
|
所有比赛的起始指数, |
|
所有匹配的结束索引, |
|
所有标记的开始和结束索引 |
|
每个子字符串的文本与模式匹配 |
|
中捕获的每个令牌的文本 |
|
每个已命名令牌的名称和文本 |
|
的不匹配子字符串的文本 |
数据类型:字符
|字符串
选项
-搜索选项'一次'
|“警告”
|'相符'
|'emptymatch'
|“dotexceptnewline”
|“lineanchors”
|...搜索选项,指定为字符向量。选项是成对出现的:一个选项对应于默认行为,另一个选项允许覆盖默认行为。从一对中只指定一个选项。选项可以以任何顺序出现。
默认 |
覆盖 |
描述 |
---|---|---|
|
|
匹配尽可能多的表达式(默认),或仅匹配一次。 |
|
|
抑制警告(默认),或显示它们。 |
|
|
忽略大小写(默认),或匹配情况。 |
|
|
忽略零长度匹配(默认),或包含它们。 |
|
|
匹配点与任何字符(默认),或所有除换行符( |
|
|
申请 |
|
|
在匹配时包括空格字符和注释(默认),或者忽略它们。与 |
数据类型:字符
出
-比赛信息关于比赛信息,返回为数字,细胞,字符串或结构阵列。在输出的信息取决于您指定的值外卖
如下。
输出关键字 |
输出说明 |
输出类型和尺寸 |
---|---|---|
|
起价的起始指数 |
对于这两个 |
|
结束匹配指数 |
|
|
所有标记的开始和结束索引 |
默认情况下,当返回所有匹配项时:
当你指定 如果在特定索引处期望一个令牌 |
|
每个子字符串的文本与模式匹配 |
默认情况下,当返回所有匹配项时:
当你指定 |
|
中捕获的每个令牌的文本 |
默认情况下,当返回所有匹配项时:
当你指定 如果在特定的索引处期望一个令牌,但是没有找到,那么MATLAB将为该令牌返回一个空值, |
|
每个已命名令牌的名称和文本 |
为所有匹配:
|
|
的不匹配子字符串的文本 |
为所有匹配:
|
令牌是与正则表达式的部分对应的匹配文本的部分。要创建令牌,请括在括号中的一部分正则表达式。
例如,此表达式查找表单的日期dd-mmm-yyyy
,包括当天,月和年份的令牌。
str =“这是日期:01-APR-2020';表达=”(\ d +) - (\ w +) (\ d +) ';替换= regexp (str,表达式,“令牌”);替换{:}
ans ='01''4月''2020'
您可以将名称与令牌关联起来,以便更容易识别它们:
str =“这是日期:01-APR-2020';表达=“(? <天> \ d +) -(? <月> \ w +) -(? <年> \ d +) ';替换= regexp (str,表达式,'名字')
MyDate = Day:'01'月:'4月'年:'2020'
有关更多信息,请参见正则表达式中的令牌.
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。