regexpi
匹配正则表达式(不分大小写)
语法
描述
返回的每个子字符串的起始索引startIndex
= regexpi (str
,表达式
)str
相匹配的正则表达式,指定的字符模式与字母大小写无关。如果没有匹配,startIndex
是一个空数组。
(
返回所有匹配的开始和结束指数。startIndex
,endIndex
)= regexpi (str
,表达式
)
___= regexpi (___,' forceCellOutput ')
返回每个输出参数作为标量细胞。细胞包含数值数组或描述为输出的子字符串前面的语法。您可以包括任何输入和请求的输出从以前的语法。
例子
模式匹配
发现单词开始c
最后,t
他们之间,包含一个或多个元音。
str =“蝙蝠猫风衣法院可以降低ct造影扫描的;表达=“c(五个母音字母)+ t”;startIndex = regexpi (str,表达)
startIndex =1×45 17 28 35
值startIndex
表明每个单词的第一个字符的索引匹配的正则表达式。
正则表达式“c(五个母音字母)+ t”
指定此模式:
c
必须第一个字符。c
必须遵循由括号内的人物之一,(五个母音字母)
。带括号的模式必须发生一次或多次,如所示
+
操作符。t
必须是最后一个字符,没有带括号的模式和之间的角色t
。
区分大小写的匹配
匹配字母大小写全部或部分的一个表达式。
默认情况下,regexpi
执行不区分大小写的匹配。
str =与大写和小写的文本特征向量。;表达=“\ w *案”;matchStr = regexpi (str,表达式,“匹配”)
matchStr =1 x2单元格{“大写”}{“小写”}
使用正则表达式
与相同的语法功能regexpi
执行区分大小写的匹配。
matchWithRegexp = regexp (str,表达式,“匹配”)
matchWithRegexp =1 x1单元阵列{“小写”}
禁用区分大小写的匹配正则表达式
,可以使用“ignorecase”
选择。
matchWithIgnorecase = regexp (str,表达式,“匹配”,“ignorecase”)
matchWithIgnorecase =1 x2单元格{“大写”}{“小写”}
为多个表达式,启用和禁用选定的表达式使用不区分大小写的匹配(我)?
和(? -我)
搜索的旗帜。
表达= {“(? -我)\ w *案”;…“(?我)\ w *案”};matchStr = regexp (str,表达式,“匹配”);celldisp (matchStr)
matchStr{1}{1} =小写matchStr{2}{1} =大写matchStr{2}{2} =小写
输入参数
str
- - - - - -输入文本
特征向量|单元阵列的特征向量|字符串数组
输入文本,指定为一个特征向量,特征向量的单元阵列,或一个字符串数组。向量在一个单元中每个字符数组,每个字符串或字符串数组,可以是任何长度和包含任何字符。
如果str
和表达式
字符串数组或单元数组,它们必须具有相同的尺寸。
数据类型:字符串
|字符
|细胞
表达式
- - - - - -正则表达式
特征向量|单元阵列的特征向量|字符串数组
正则表达式,指定为一个特征向量,特征向量的单元阵列,或一个字符串数组。每个表达式可以包含字符、元字符运营商、标记和标志,指定模式相匹配str
。
下面的表描述正则表达式的元素。
元字符
元字符是字母,字母,数字和空格字符。使用它们来构建一个通用模式的字符。
元字符 |
描述 |
例子 |
---|---|---|
|
任何单个字符,包括空格 |
|
|
任何字符包含在方括号中。以下字符处理: |
|
|
任何字符不包含在方括号中。以下字符处理: |
|
|
任何字符的范围 |
|
|
任何字母、数字或下划线字符。对于英语字符集, |
|
|
任何字符,不是字母,数字或下划线。对于英语字符集, |
|
|
任何空白字符;相当于 |
|
|
任何非空白字符;相当于 |
|
|
任何数字;相当于 |
|
|
任何数字字符;相当于 |
|
|
字符的八进制值 |
|
|
字符的十六进制值 |
|
字符表示
操作符 |
描述 |
---|---|
|
报警(嘟) |
|
退格 |
|
换页 |
|
新行 |
|
回车 |
|
水平选项卡 |
|
垂直制表符 |
|
任何字符和特殊意义在你想匹配的正则表达式(例如,使用 |
量词
量词指定的次数模式必须发生在匹配的文本。
量词 |
发生的次数表达式 |
例子 |
---|---|---|
|
0或更多次连续。 |
|
|
0次或1次。 |
|
|
1次以上连续。 |
|
|
至少
|
|
|
至少
|
|
|
完全 相当于 |
|
量词可以出现在三种模式,如下表中所描述的。问代表任何量词在前面的桌子上。
模式 |
描述 |
例子 |
---|---|---|
|
贪婪的表情:匹配尽可能多的字符。 |
考虑到文本
|
|
懒惰的表达:根据需要几个字符相匹配。 |
考虑到文本
|
|
占有欲强的表达:尽可能匹配,但不要重复扫描的任何部分文本。 |
考虑到文本 |
分组操作符
分组操作符允许您捕获的令牌,一个操作符应用到多个元素,或禁用回溯在一个特定的群体。
分组操作符 |
描述 |
例子 |
---|---|---|
|
组的元素表达和获取令牌。 |
|
|
组,但不要捕捉标记。 |
没有分组, |
|
组自动。不放弃集团内部完成匹配,而不获取令牌。 |
|
|
匹配表达式 如果有一个匹配 您可以包括 |
|
锚
锚的表达式匹配输入文本或单词的开始或结束。
锚 |
匹配…… |
例子 |
---|---|---|
|
输入文本的开始。 |
|
|
输入文本。 |
|
|
一个单词的开始。 |
|
|
一个单词的结束。 |
|
看看断言
看看断言寻找模式,立即预定的比赛之前或之后,但不匹配的一部分。
指针仍然在当前位置,和对应的字符测试
表达式不捕获或丢弃。因此,断言可以匹配字符组重叠。
看看断言 |
描述 |
例子 |
---|---|---|
|
提前寻找相匹配的字符 |
|
|
向前看不匹配的字符 |
|
|
背后寻找相匹配的字符 |
|
|
后面找了不匹配的字符 |
|
如果你指定一个超前断言之前一个表达式,相当于一个逻辑操作和
。
操作 |
描述 |
例子 |
---|---|---|
|
匹配两个 |
|
|
匹配 |
|
逻辑和条件运算符
逻辑和条件操作符允许您测试的状态给定的条件,然后使用结果来确定哪个模式,如果有的话,来匹配。这些操作符支持逻辑金宝app或
,如果
或如果/其他
条件。
条件可以令牌,看看运营商,或动态形式的表达式(? @cmd)
。动态表达式必须返回一个逻辑或数值。
条件运算符 |
描述 |
例子 |
---|---|---|
|
匹配表达式 如果有一个匹配 |
|
|
如果条件 |
|
|
如果条件 |
|
令牌运营商
你标记的部分匹配文本定义通过将正则表达式的一部分包含在圆括号中。您可以参考标记的序列在文本(一个序数牌),或分配名称为更容易令牌代码维护和可读的输出。
序数牌运营商 |
描述 |
例子 |
---|---|---|
|
捕获在一个象征性的封闭表达式相匹配的字符。 |
|
|
匹配 |
|
|
如果 |
|
叫牌运营商 |
描述 |
例子 |
---|---|---|
|
捕获在一个命名的标记字符匹配的封闭表达式。 |
|
|
令牌被匹配 |
|
|
如果找到指定的令牌,然后匹配 |
|
请注意
如果一个表达式有嵌套的括号,MATLAB®获取令牌对应于最外层组括号。例如,搜索模式”(和(y |奖赏))”
,MATLAB创建一个令牌“安德鲁”
但不是“y”
或“报答”
。
动态的正则表达式
动态表达式允许您执行一个MATLAB命令或一个正则表达式来确定匹配的文本。
附上动态表达式的括号不创建一个捕获组。
操作符 |
描述 |
例子 |
---|---|---|
|
解析 当解析, |
|
|
执行由MATLAB命令 |
|
|
执行由MATLAB命令 |
|
在动态表情,使用以下操作符定义替换文本。
替换操作符 |
描述 |
---|---|
|
输入文本的一部分,目前是匹配 |
|
输入文本的一部分,在当前匹配 |
|
输入文本的一部分,遵循当前匹配(使用 |
|
|
|
叫牌 |
|
输出返回MATLAB执行命令时, |
评论
字符 |
描述 |
例子 |
---|---|---|
(? #评论) |
在正则表达式中插入注释。评论文本匹配输入时被忽略。 |
|
搜索的旗帜
搜索标记修改行为匹配表达式。替代使用搜索标志在一个表达式是通过一个选项
输入参数。
国旗 |
描述 |
---|---|
(? -我) |
匹配字母大小写(默认 |
(我)? |
字母大小写不匹配(默认 |
(?) |
匹配点( |
(? - s) |
的点模式匹配任何字符,不是一个换行符。 |
(? - m) |
匹配 |
(?) |
匹配 |
(? - x) |
包括空格字符和注释时匹配(默认)。 |
x (?) |
匹配时忽略空格字符和注释。使用 |
国旗的表达式修改后可以出现括号,如
(?我)\ w *
括号内或与一个冒号分开国旗(:
),比如
(?我:\ w *)
后者的语法允许你改变行为的一部分表达式。
数据类型:字符
|细胞
|字符串
outkey
- - - - - -字表明,输出返回
“开始”
(默认)|“结束”
|“tokenExtents”
|“匹配”
|“令牌”
|“名字”
|“分裂”
指定关键字表明输出返回,如以下的其中一个特征向量。
输出关键字 |
返回 |
---|---|
|
从所有匹配的指标开始, |
|
结局指标的匹配, |
|
开始和结束指数的令牌 |
|
每个模式相匹配的子串的文本 |
|
每个令牌在文本 |
|
每个叫牌的名称和文本 |
|
的nonmatching子字符串的文本 |
数据类型:字符
|字符串
选项
- - - - - -搜索选项
“一次”
|“警告”
|“matchcase”
|“emptymatch”
|“dotexceptnewline”
|“lineanchors”
|……
搜索选项,指定为一个特征向量。选项都是成对的:一种选择对应的默认行为,一个选项,允许您覆盖默认的。从一对指定只有一个选项。选项可以在任何顺序出现。
默认的 |
覆盖 |
描述 |
---|---|---|
|
|
尽可能多次匹配表达式(默认),或只有一次。 |
|
|
抑制警告(默认),或显示它们。 |
|
|
忽略字母大小写(默认),或者匹配情况。 |
|
|
忽略零长度匹配(默认),或者包含它们。 |
|
|
匹配点与任何字符(默认),或除了换行符( |
|
|
应用 |
|
|
包括空格字符和注释时匹配(默认),或忽略它们。与 |
数据类型:字符
输出参数
出
——信息匹配
数字数组|单元阵列| |字符串数组结构数组
信息匹配,返回为一个数值,细胞,字符串、数组或结构。信息的输出取决于您所指定的值outkey
,如下所示。
输出关键字 |
输出描述 |
输出类型和维度 |
---|---|---|
|
指数开始比赛 |
对于这两个 |
|
结局指标的匹配 |
|
|
开始和结束指数的令牌 |
默认情况下,当返回所有匹配:
当你指定 如果令牌预计在一个特定的索引 |
|
每个模式相匹配的子串的文本 |
默认情况下,当返回所有匹配:
当你指定 |
|
每个令牌在文本 |
默认情况下,当返回所有匹配:
当你指定 如果预计一个令牌在一个特定的索引,但没有找到,然后用MATLAB令牌,返回一个空值 |
|
每个叫牌的名称和文本 |
为所有匹配:
|
|
的nonmatching子字符串的文本 |
为所有匹配:
|
更多关于
令牌
标记的部分匹配的对应部分正则表达式的文本。创建令牌,将正则表达式的一部分置于括号中。
例如,这个表达式找到约会的形式dd-mmm-yyyy
一天,包括令牌、月和年。
str =“这是一个日期:01 - 4月- 2020 ';表达=”(\ d +) - (\ w +) (\ d +) ';替换= regexp (str,表达式,“令牌”);替换{:}
ans = 1×3单元阵列{“01”}{4月的}{2020 '}
你可以把名字与令牌,这样他们更容易识别:
str =“这是一个日期:01 - 4月- 2020 ';表达=“(? <天> \ d +) -(? <月> \ w +) -(? <一> \ d +) ';替换= regexp (str,表达式,“名字”)
替换=结构体字段:天:“01”月:“4月”:“2020”
有关更多信息,请参见令牌在正则表达式。
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。