【Matlab笔记_15】正则表达式之特殊字符文本位置提取

这篇具有很好参考价值的文章主要介绍了【Matlab笔记_15】正则表达式之特殊字符文本位置提取。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标:

  • 1.提取“BLT-1-A1.txt”中第一个’-‘前面的所有字符。
  • 2.提取“BLT-1-A1.txt”中第一个’-‘和第二个’-‘中间的所有字符。
  • 3.提取“BLT-1-A1.txt”中最后一个’-‘和最后一个’.‘中间的所有字符。

方法如下:

1.提取“BLT-1-A1.txt”中第一个’-‘前面的所有字符。

file_name ='BLT-1-A1.txt';
type = regexp(file_name, '^[^-]+', 'match');

注:
这个正则表达式的含义是匹配从字符串开始(^)到第一个连字符(-)之前的所有字符。这样,它会提取第一个连字符前面的内容。

请注意,这里使用的是 ^ [^-]+,其中:

^:表示匹配字符串的开始。
[ ^ - ]:表示除了连字符(-)以外的任何字符。
+:表示匹配前面的字符一个或多个。
这个正则表达式会匹配字符串开头的所有非连字符字符,直到遇到第一个连字符为止。

2.提取“BLT-1-A1.txt”中第一个’-‘和第二个’-‘中间的所有字符。

file_name ='BLT-1-A1.txt';
type = regexp(file_name, '(?<=-)\w+(?=-)', 'match');

(?<=-): 这是一个正向后顾界定。它表示在匹配的内容之前必须有一个连字符(-)。这个部分不会包含在最终匹配结果中。
\w+: 这是一个匹配一个或多个单词字符的正则表达式。\w 表示任何字母、数字或下划线字符,而 + 表示匹配前面的字符一个或多个。
(?=-): 这是一个正向前瞻界定。它表示在匹配的内容之后必须有一个连字符(-)。这个部分不会包含在最终匹配结果中。
‘match’: 这是 regexp 函数的选项,表示返回与整个正则表达式匹配的字符串。

综合起来,这个正则表达式的目标是匹配文件名中两个连字符(-)之间的单词,并将这个匹配结果存储在变量 type 中。

但是若是文件用有多个-,如’BLT-1-BKGD-A1.txt’;,只要第一个和第二个‘-’之间的可以如下处理:

file_name ='BLT-1-BKGD-A1.txt';
type = regexp(file_name, '(?<=-)\w+(?=-.*-)', 'match');

这里修改了正则表达式模式:

(?<=-): 仍然是正回顾后界定,表示匹配的内容必须位于一个连字符(-)的后面。
\w+: 仍然是匹配一个或多个单词字符(字母、数字或下划线)的部分。
(?=-.-): 新增的部分,这是一个正前瞻后界定,表示匹配的内容必须位于第一个连字符(-)后,并且在该连字符后面存在至少一个任意字符(.),然后紧跟着第二个连字符。
这样,整个正则表达式将匹配第一个和第二个连字符之间的内容。

这里使用 .* 来表示匹配任意字符(除了换行符)。如果想要限定为非连字符的字符,可以使用 [^-],其中 [^-] 表示匹配除了连字符以外的任意字符, 表示匹配零个或多个。

3.提取“BLT-1-A1.txt”中最后一个’-‘和最后一个’.‘中间的所有字符。

file_name ='BLT-1-A1.txt';
type = regexp(file_name, '[-](\w+)\.', 'tokens', 'once');

’[-]‘: 这是匹配一个连字符(-)的部分。

(\w+): 这是匹配一个或多个单词字符(字母、数字或下划线)的部分,并使用圆括号将匹配的内容分组。这表示我们对这一部分感兴趣,后续可以通过结果访问。

.: 这是匹配一个点号(.)的部分。由于点号在正则表达式中有特殊含义(匹配任意字符),因此在这里我们使用反斜杠进行转义,表示匹配实际的点号。

‘tokens’: 这是 regexp 函数的一个选项,用于指定返回的结果形式。在这里,我们使用 ‘tokens’,表示返回匹配项的令牌,也就是正则表达式中用括号分组的部分。

‘once’: 这是 regexp 函数的另一个选项,表示只返回第一个匹配的结果。因为你可能有多个匹配项,但我们只对第一个感兴趣。

因此,整个代码的作用是从文件名中提取一个连字符后、点号前的单词,并将结果存储在 type变量中。如果没有匹配到符合正则表达式的内容,type将是一个空数组。如果匹配到内容,type 将是一个包含一个单元素的单元格数组,其中包含了匹配的单词。文章来源地址https://www.toymoban.com/news/detail-723634.html

到了这里,关于【Matlab笔记_15】正则表达式之特殊字符文本位置提取的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JS正则验证密码 英文大小写+数字+特殊符号 的表达式。

    我处理的密码策略如下: 包括大写字母、小写字母、数字和符号,这 4 种字符中的 3 种 可以使用四种类型的字符:大写字母、小写字母、数字和密码。 字符数至少为 8位 使用的符号是“!@;:”(实际上,可以根据自己的情况来指定,我省略了它,因为它可变) 生成的正则

    2024年02月07日
    浏览(100)
  • 15个常用的javaScript正则表达式

    c 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 onsole.log(uPattern.test(“iFat3”)); 2密码强度正则 //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 var pPattern=/

    2024年01月17日
    浏览(65)
  • 正则表达式(常用字符简单版)

    量词 字符类 边界匹配 分组和捕获 特殊字符 字符匹配 普通字符:普通字符按照字面意义进行匹配,例如匹配字母 \\\"a\\\" 将匹配到文本中的 \\\"a\\\" 字符。 元字符:元字符具有特殊的含义,例如  d  匹配任意数字字符, w  匹配任意字母数字字符, .  匹配任意字符(除了换行符)

    2024年02月10日
    浏览(46)
  • 【编译原理】【词法分析】【正则表达式】【NFA】【DFA】【C++】正则表达式转DFA&NFA,判断字符串是否符合正则表达式的匹配算法

    显然,正则表达式、NFA、DFA的概念都很简单,所以直接上代码,注释应该解释地比较清楚, 没有万能头文件的自行替换需求库 ,如果有疑问的可以留言。 网盘链接 [自行补全]/s/1pbGT_wpB662TwFrnukXgGQ?pwd=TSIT 提取码:TSIT 原理可以参考这篇博客 传送门 本次程序由四个文件组成 文

    2024年02月11日
    浏览(88)
  • 12.字符串和正则表达式

    正则表达式相关知识 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个

    2024年01月16日
    浏览(62)
  • 正则表达式包含数字和字符匹配

    至少6位。 pattern : (?=. [0-9])(?=. [A-Za-z])[0-9A-Za-z]{6,} 正则表达式中的“?=”是一个正向预查字符,它的意思是匹配前一个字符出现的最少一次。具体来说,当一个匹配出现时,它会检查前一个字符是否符合要求,如果符合,则继续匹配下一个字符,否则停止匹配。

    2024年02月06日
    浏览(58)
  • mysql 正则表达式 提取 指定字符

    eg: 使用正则表达式来进行匹配替换: REGEXP_REPLACE(\\\'需要进行替换的字段‘, ‘被替换的’,‘替换的内容’) eg: 模式 说明 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘n’ 或 ‘r’ 之后的位置。 $ 匹配输入字符串的结束位置。

    2024年02月06日
    浏览(49)
  • python 正则表达式提取字符串

    1、提取字符串的场景及公式、命令 背景 :目前遇到的场景主要是以某个字符串开始、某个字符串结束,提取中间部分的字符,有的时候需要开始的字符,有时不需要,大概涉及到了4种情况,场景及处理方式如下: 1.1 以某个字符开始、某个字符结束,期待的提取结果 包含

    2024年02月02日
    浏览(53)
  • notepad++ 正则表达式查找特定字符串

    批量文本的处理方法 在报文中有很多指标和值都具有固定的格式,比如是  a=\\\"1\\\" 这类格式,那么我们只取前面的指标a,就会比较复杂,而使用正则表达式就会快乐许多! 采用以下第二种方法 查找目标 =(.+?)\\\"    表示查找以等号开头,引号和空格  结尾的字符串,可以避免查

    2024年02月15日
    浏览(57)
  • java之字符串与正则表达式

    目录 String 构造方法 注意 格式控制字符串 常用方法 StringBuilder与StringBuffer 特点 理解可变与不可变 字符串拼接方法 字符串删除方法 字符串内插入字符 字符串替换方法 字符串反转方法 查字符串对应索引处的字符  截取字符串 正则表达式 正则表达式符号表 正则表达式常用方

    2023年04月22日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包