- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATALB正则表达式零基础起步教程
MATALB 正则表达式零基础起步教程
摘要:正则表达式是一个重要的编程概念。应用正则表达式可以实现很多强大的字符处理功
能,有时也可以为常规方法解决起来比较复杂的问题另辟蹊径。本文试图通过比较详尽的示
例为没有基础的读者介绍正则表达式的基本概念、用法及其在 Matlab 中的实现。文末附上
几个应用表达式解决实际问题的实例,以利于读者在自己的实践中应用。
关键词:正则表达式 Matlab regexp
1. 引言
正则表达式就是一个表达式(也是一串字符),它定义了某种字符串模式——利用正则表达
式,可以
对大段的文字进行复杂的查找、替换等。本文将以 Matlab 为编程语言,讲解正则表达式的
概念和使用方法,
并将在文末以实例说明正则表达式的实践应用。
Matlab 提供的正则表达式函数有三个:
regexp——用于对字符串进行查找,大小写敏感;
regexpi——用于对字符串进行查找,大小写不敏感;
regexprep——用于对字符串进行查找并替换。
简要介绍一下这三个函数,以 regexpi 为例 —— 读者可以先跳过这里,看过全文之后
再来看这里。
用法 1:
[start end extents match tokens names] = regexpi(str, expr)
start 为匹配字符串的起始位置;end 为匹配字符串的终止位置;extents 为扩展内容,和
tokens指示符一起用,指示出现 tokens 的位置;match 即找到的匹配字串;tokens 匹
配正则表达式中标记 (tokens)的字串;
names 为匹配到的命名标记的标记名。
- 1 -
用法 2:
若不需要所有的输出,可以用下面的方式有选择的输出。
[v1 v2 ...] = regexpi(str, expr, q1, q2, ...)
q1、q2 为 start、end、tokens、tokensExtents、match、names
之一,意义与前文相同。v1、
v2 的输出顺序与 q1、q2 一致。
2. 单个字符的匹配
我们先从简单的开始 —— 以 regexpi 函数为例,不区分字符的大小写。假设你要搜索
cat,搜索用
的正则表达式就是 cat,这与文本编辑工具里常用的 CTRL+F 是一样的,即正则表达式
cat 匹配 cat、
Cat、cAt、CAt、caT、CaT、cAT、CAT。
为了方便,下面的叙述中字符串和正则表达式的都省略不写。
2.1 句点符号
. —— 匹配任意一个(只有一个)字符(包括空格)。
假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以 t 字母开
头,以 n 字母结束;另外,有一本英文字典,你可以用正则表达式搜索它的全部内容。
要构造出这个正则表达式,你可以使用一个通配符 —— 句点符号 . 。这样,完整
的表达式就是 t.n,它匹配 tan、ten、tin 和 ton,还匹配 t#n、tpn 甚至 t n,还有其
他许多无意义的组合。这是因为句点符号匹配所有字符,包括空格,即:正则表达式 t.n 匹
配 ten、tin、ton、t n、tpn、t#n、t@n 等。
Matlab 程序实例:
clear;clc
str=ten,8yn2tin6uiton, t n,-356tpn,$$$$t#n,4@).,t@nTnY;
pat=t.n;
o1=regexpi(str,pat,start) %用start指定输出 o1 为匹配正则表达式
- 2 -
的子串的起始位置
o2=regexpi(str,pat,end) %用end指定输出 o2 为匹配正则表达式的
子串的结束位置
o3=regexpi(str,pat,match) %用match指定输出 o3 为匹配正则表达式的
子串
[o11,o22,o33]=regexpi(str,pat,start,end,match) %同时输出起始位
置和字串
输出为:
o22 =
您可能关注的文档
- LTE组网规划N.pdf
- LTE典型场景建设方案.pdf
- LTE网络设计与规划等2014V4_P1.pdf
- M(MUMPS)言语.pdf
- M020000043运输、安装、维护使用说明书LVB.pdf
- M-car智能玩具+李昆伦.pdf
- LWT2 V1.02说明书.pdf
- M2000调压器使用手册-电子版.pdf
- M2安装手册 中文.pdf
- M11防盗培训资料.pdf
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)