当前位置: 首页 > news >正文

北京住房城乡建设网站秦皇岛手机网站制作公司

北京住房城乡建设网站,秦皇岛手机网站制作公司,二手站网站怎做,微网站和wap目录 语法 说明 示例 模式匹配 区分大小写的匹配 regexpi函数的功能是匹配正则表达式(不区分大小写)。 语法 startIndex regexpi(str,expression) [startIndex,endIndex] regexpi(str,expression) out regexpi(str,expression,outkey) [out1,.…

目录

语法

说明

示例

模式匹配

区分大小写的匹配


        regexpi函数的功能是匹配正则表达式(不区分大小写)。

语法

startIndex = regexpi(str,expression)
[startIndex,endIndex] = regexpi(str,expression)
out = regexpi(str,expression,outkey)
[out1,...,outN] = regexpi(str,expression,outkey1,...,outkeyN)
___ = regexpi(___,option1,...,optionM)
___ = regexpi(___,'forceCellOutput')

说明

        startIndex = regexpi(str,expression) 返回 str 的每个子字符串(与该正则表达式指定的字符模式匹配)的起始索引,而不考虑字母大小写。如果没有匹配项,则 startIndex 为空数组。

        [startIndex,endIndex] = regexpi(str,expression) 返回所有匹配项的开始和结束索引。

        out = regexpi(str,expression,outkey) 返回 outkey 指定的输出。例如,如果 outkey 为 'match',则 regexpi 返回与该表达式匹配的子字符串而非其开始索引。

        [out1,...,outN] = regexpi(str,expression,outkey1,...,outkeyN) 按指定的顺序返回多个输出关键字指定的输出。例如,如果您指定 'match'、'tokens',则 regexpi 返回与整个表达式匹配的子字符串以及与部分表达式匹配的词元。

        ___ = regexpi(___,option1,...,optionM) 使用指定的选项标志修改搜索。例如,指定 'matchcase' 以执行区分大小写的匹配。您可以包括任何输入并请求之前语法中的任何输出。

        ___ = regexpi(___,'forceCellOutput') 以标量元胞的形式返回每个输出参数。元胞包含被描述为上述语法输出的数值数组或子字符串。可以包括任何输入并请求之前语法中的任何输出。

示例

模式匹配

        查找以 c 开头并以 t 结尾且其中包含一个或多个元音的单词。

str = 'bat cat can car COAT court cut ct CAT-scan';
expression = 'c[aeiou]+t';
startIndex = regexpi(str,expression)
startIndex = 1×45    17    28    35

startIndex 中的值指示与正则表达式匹配的每个单词的第一个字符的索引。

正则表达式 'c[aeiou]+t' 指定以下模式:

  • c 必须为第一个字符。

  • c 必须后跟方括号内的一个字符 [aeiou]。

  • 括起的模式必须出现一次或多次,如 + 运算符所指示。

  • t 必须为最后一个字符,括起的模式和 t 之间没有任何字符。

区分大小写的匹配

        在整个或部分表达式中匹配字母大小写。默认情况下,regexpi 执行不区分大小写的匹配。

str = 'A character vector with UPPERCASE and lowercase text.';
expression = '\w*case';
matchStr = regexpi(str,expression,'match')
matchStr = 1x2 cell{'UPPERCASE'}    {'lowercase'}

        使用与 regexpi 具有相同语法的 regexp 函数执行区分大小写的匹配。

matchWithRegexp = regexp(str,expression,'match')
matchWithRegexp = 1x1 cell array{'lowercase'}

        使用 'ignorecase' 选项可对 regexp 禁用区分大小写的匹配。 

matchWithIgnorecase = regexp(str,expression,'match','ignorecase')
matchWithIgnorecase = 1x2 cell{'UPPERCASE'}    {'lowercase'}

        对于多个表达式,使用 (?i) 和 (?-i) 搜索标志对选定表达式启用和禁用不区分大小写的匹配。

expression = {'(?-i)\w*case';...'(?i)\w*case'};
matchStr = regexp(str,expression,'match');
celldisp(matchStr)matchStr{1}{1} =lowercasematchStr{2}{1} =UPPERCASEmatchStr{2}{2} =lowercase

参数说明

 str — 输入文本

          输入文本,指定为字符向量、字符向量元胞数组或字符串数组。元胞数组中的每个字符向量或字符串数组中的每个字符串可以为任意长度并包含任意字符。

        如果 str 和 expression 均为字符串数组或元胞数组,则它们的维度必须相同。

expression — 正则表达式

        正则表达式,指定为字符向量、字符向量元胞数组或字符串数组。每个表达式可包含字符、元字符、运算符、词元和用于指定在 str 中匹配的模式的标志。

下表描述了正则表达式的各元素。

option — 搜索选项

        搜索选项,指定为字符向量。选项成对出现:一个选项对应于默认行为,另一个选项允许覆盖默认值。仅指定一对中的一个选项。选项可以按任意顺序显示。

startIndex — 每个匹配项的开始索引

每个匹配项的开始索引,以行向量或元胞数组的形式返回,如下所示:

  • ​如果 str 和 expression 均为字符向量或字符串标量,则输出为行向量(或者,如果没有任何匹配项,则为空数组)。

  • 如果 str 或 expression 有一个是字符向量元胞数组或字符串数组,另一个是字符向量或字符串标量,则输出是行向量元胞数组。输出元胞数组与输入数组具有相同的维度。

  • 如果 str 和 expression 均为元胞数组或字符串数组,则它们的维度必须相同。输出是具有相同维度的元胞数组。

endIndex — 每个匹配项的结束索引

每个匹配项的结束索引,以行向量或元胞数组的形式返回,如下所示:

  • ​如果 str 和 expression 均为字符向量或字符串标量,则输出为行向量(或者,如果没有任何匹配项,则为空数组)。

  • 如果 str 或 expression 有一个是字符向量元胞数组或字符串数组,另一个是字符向量或字符串标量,则输出是行向量元胞数组。输出元胞数组与输入数组具有相同的维度。

  • 如果 str 和 expression 均为元胞数组或字符串数组,则它们的维度必须相同。输出是具有相同维度的元胞数组。

out — 有关匹配项的信息

        有关匹配项的信息,以数值、元胞、字符串或结构体数组的形式返回。输出中的信息取决于为 outkey 指定的值。

词元

        词元是对应于正则表达式部分的匹配文本部分。要创建词元,请将正则表达式部分括在圆括号中。例如,此表达式查找 dd-mmm-yyyy 形式的日期,包括日、月和年的词元。

str = 'Here is a date: 01-Apr-2020';
expression = '(\d+)-(\w+)-(\d+)';mydate = regexp(str,expression,'tokens');
mydate{:}
ans =1×3 cell array{'01'}    {'Apr'}    {'2020'}

可以将名称与词元关联起来以使其更便于识别:

str = 'Here is a date: 01-Apr-2020';
expression = '(?<day>\d+)-(?<month>\w+)-(?<year>\d+)';mydate = regexp(str,expression,'names')
mydate = struct with fields:day: '01'month: 'Apr'year: '2020'

http://www.dtcms.com/a/499585.html

相关文章:

  • 【SpringBoot从初学者到专家的成长18】SpringBoot中的数据持久化:JPA与Hibernate的结合
  • Ubuntu服务器已下载Nginx安装包的安装指南
  • 高可用Prometheus问题集锦
  • wap建站模板物流网站怎么开
  • 【Leetcode hot 100】763.划分字母区间
  • Agent向量存储中的记忆衰退与记忆过载解决方案
  • php网站跟随导航扁平化配色方案网站
  • 降噪算法的效果分析
  • FreeSWITCH RTP 自动调整花费时间太久
  • 怎么在一个网站做编辑一流的镇江网站优化
  • 常用电子元器件学习总结
  • TCP/IP协议相关知识点
  • 网站点播视频如何做帮助做APP的网站公司
  • 直圆锥(Right Circular Cone)
  • vue适合做门户网站吗企业官网下载
  • 熬夜肌救星:EGT+AKG+SOD科学修护
  • 上海住房城乡建设网站成都创软科技的口碑
  • 建设银行网站建设情况网络维护公司需要什么资质
  • 解决stm32cubeide工程复制后更改路径导致无法识别问题
  • GitHub 热榜项目 - 日榜(2025-10-18)
  • 【问题】Mac 的 Finder 中没有桌面选项如何处理?(访达 -> 设置 -> 边栏 -> 勾选桌面)
  • string类介绍
  • 深度学习物理神经网络(PINN)!
  • 青岛做公司网站的公司ppt模板下载简约
  • 网站为什么做静态广州专业网站建设后台管理便捷
  • Unity游戏基础-7(简单的水面Shader Graph,案例1)
  • 在 Mac/linux 的 VSCode 中使用Remote-SSH远程连接 Windows
  • 国内AI编程工具
  • 宝塔面板安装ecshop
  • 大型网站一般用什么语言做的建设行业信息管理系统网站