欢迎光临散文网 会员登陆 & 注册

正则表达式学习笔记2

2023-06-13 11:42 作者:STRPG  | 我要投稿

3.匹配数量

字符一:*

匹配零个或一个以上的字符

例如文本:ab abc abcc abccc

输入:abc*

结果:ab abc abcc abccc

字符二:+

匹配一个或一个以上的字符

例如文本:ab abc abcc abccc

输入:abc+

结果:abc abcc abccc

字符三:?

匹配零个或一个的字符

例如文本:ab abc abcc abccc

输入:abc?

结果:ab abc

字符四:{ }

限制匹配字符范围(数字可自拟)

{0,}等价*

{1,}等价+

{0,1}等价?

例如文本:ab abc abcc abccc

输入:abc{0,}

结果:ab abc abcc abccc

(其他同理)

字符五:?

加在上述字符后从贪婪模式(匹配最多字符)转化为懒惰模式(匹配最少字符)

例如加?

文本:abbbbbabbbbba

输入:ab.*?a

结果:abbbbba

例如不加?

文本:abbbbbabbbbba

输入:ab.*a

结果:abbbbbabbbbba

4.匹配边界

字符一:\b

单词边界

例如文本:(content) contentabc

输入:\bcontent\b

结果:content

(\b加在左边匹配左边界,右边同理)

字符二:^

匹配左边界(文本开头)

例如文本:abccontest contest

输入:^contest

结果:无结果

例如文本:abccontest contest

输入:^abccontest

结果:abccontest

字符三:$

匹配有边界(文编结尾)

例如文本:contest contestcba

输入:contest$

结果:无结果

例如文本:contest contestcba

输入:contestcba$

结果:contestcba

(可以用来检测开头或结尾的空行或特定字符)

字符三:(?m)

分行匹配(部分语言不支持)

例如不加(?m)

文本:

abc

abcc

abccc

输入:^ab*

结果:abc

例如加(?m)

文本:

abc

abcc

abccc

输入:(?m)^ab*

结果:abc abcc abccc




学习教程来源:BV1xW4y1X7Es

正则表达式学习笔记2的评论 (共 条)

分享到微博请遵守国家法律