MATLAB中lineBoundary函数用法

目录

语法

说明

示例

匹配行的边界

匹配行的开头和结尾边界

对行的边界求反


lineBoundary函数的功能是匹配行首或行尾。

语法

cpp 复制代码
pat = lineBoundary
pat = lineBoundary(type)

说明

pat = lineBoundary 创建与一行的行首或行尾(包括 newline 字符)匹配的模式。lineBoundary 可以使用 ~ 运算符求反。当求反时,~lineBoundary 匹配任意两个字符之间的边界,但这两个字符都不能是 newline 字符。

**pat = lineBoundary(type)**指定是匹配行首还是行尾。type 可以是 'start'、'end' 或 'either'(默认值)。

示例

匹配行的边界

使用 lineBoundary 匹配一行文本的开头或结尾。创建一个包含 newline 字符的字符串。创建一个模式,它匹配新行开头后的字母。

cs 复制代码
txt = "This is line one." + newline + "Here is line two.";
pat = lineBoundary + lettersPattern;

提取该模式。

cs 复制代码
firstWord = extract(txt,pat)
firstWord = 2x1 string
    "This"
    "Here"

匹配行的开头和结尾边界

使用 lineBoundary 的 "start" 选项来匹配行的指定端点。创建一个包含 newline 字符的字符串。创建一个模式,它匹配行的两个 "start" 边界之间的任何字符。

cpp 复制代码
txt = "This is line one." + newline + "Here is line two." + newline + "Last but not least.";
pat = lineBoundary("start") + wildcardPattern(1,inf) + lineBoundary("start");

提取该模式。

cpp 复制代码
extract(txt,pat)
ans = 2x1 string
    "This is line one...."
    "Here is line two...."

对行的边界求反

使用 ~ 运算符对 lineBoundary 求反。当两个字符都不是 newline 字符时,该模式匹配这两个字符之间的边界。

创建一个包含 newline 字符的字符串。创建一个匹配字母的模式,这些字母既不在一行文本的开头也不在末尾。

cpp 复制代码
txt = "This is line one" + newline + "Here is line two";
pat = ~lineBoundary + lettersPattern + ~lineBoundary;

提取该模式。

cs 复制代码
firstWord = extract(txt,pat)
firstWord = 8x1 string
    "his"
    "is"
    "line"
    "on"
    "ere"
    "is"
    "line"
    "tw"

参数说明

type --- 边界类型

边界类型,指定为 'start'、'end' 或 'either'。

pat --- 模式表达式

模式表达式,以 pattern 对象形式返回。

相关推荐
杜子不疼.32 分钟前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习
落霞的思绪1 小时前
Java设计模式详细解读
java·开发语言·设计模式
阿巴~阿巴~1 小时前
深入解析C++ STL链表(List)模拟实现
开发语言·c++·链表·stl·list
java1234_小锋2 小时前
一周学会Matplotlib3 Python 数据可视化-绘制自相关图
开发语言·python·信息可视化·matplotlib·matplotlib3
甄超锋2 小时前
Java Maven更换国内源
java·开发语言·spring boot·spring·spring cloud·tomcat·maven
凢en2 小时前
Perl——qw()函数
开发语言·perl
郝学胜-神的一滴3 小时前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
林开落L4 小时前
库的制作与原理
linux·开发语言·动静态库·库的制作
m0_480502645 小时前
Rust 入门 泛型和特征-特征对象 (十四)
开发语言·后端·rust
瓦特what?5 小时前
关于C++的#include的超超超详细讲解
java·开发语言·数据结构·c++·算法·信息可视化·数据挖掘