MATLAB正则表达式⑦:捕获与引用
- 原创
- |
- 浏览:481
- |
- 更新:
- |
- 标签:MATLAB
介绍MATLAB中正则表达式捕获(token)与引用方法。包括序数和命名两种类型。
预备知识是正则表达式的分组。
顺序捕获 (Ordinal Token Operator)
(expr)就可以捕获expr的内容,暂存到一个序列里。
在正则表达式中,第n个这样的顶层括号括住的内容,就是第n个捕获。
如图,表达式([A-Z]\d)即可捕获一个大写字母加数字,捕获序号为1。使用regexprep函数进行替换,$1即序号为1的捕获。'($1)'给每个捕获内容加了括号,效果如图。
(expr)限定符 这种写法所捕获到的相当于((expr)限定符)。
'([A-Z]\d){3}'会捕获6个字符而不是只有前两个。
'\N' 以匹配第N个捕获。
如图,'<(\w+).*>.*</\1>'可以捕获html中的一个闭合标签。意思是:如果(\w+)在某次匹配中捕获到了title,那么\1表示第一个捕获,得是title。
- 相关内容未经授权抓取自百度经验
(?(N)expr1|expr2) 可以判断第N个捕获是否成功(第N个捕获前提是可选匹配),如果捕获成功,此处匹配expr1,否则匹配expr2.
例子如图,匹配处理器型号,(i?)是一个捕获,匹配字母'i'(可选)。后面根据是否捕获到'i'来判断是core-i3/i5/i7系列还是core-2,来区分型号的匹配。
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部













