正则表达式
正则表达式的基本语法
"6{3}":要求数字6出现3次
"6{10,}":连续的数字6至少出现10次
"6{4,9}":连续的数字6至少出现4次,至多出现9次
".":表示一个任意字符
"^a":要求字符串以字符a开头
"b$":要去字符串以字符b结尾
"[abc]":表示该字符是abc三个字符中的任意一个
"[^abc]":表示该字符不是abc三个字符中的任意一个
"[a-z]":表示一个字符,该字符是任意一个小写字母
"[^a-z]":表示一个字符,该字符不是任意一个小写字母
"\w":表示一个字符,是数字字母下划线中的任意一个
"\W":表示一个字符,不是数字字母下划线中的任意一个
"\d":表示一个字符,是数字0-9中的任意一个
"\D":表示一个字符,不是数字0-9中的任意一个
"\s":表示一个空白符
"a*":要求字符a出现0到多次
"a+":要求字符a出现1到多次
"a?":要求字符a出现0次或1次
"\\":所有含有\的元字符,都要写成"\\"
C++头文件 < r e g e x > <regex> <regex>中的函数
regex_match(fa_str,regex(son_str)):
若子串son_str与母串fa_str完全匹配,返回true
否则为false
regex_search(fa_str,regex(son_str)):
若母串fa_str包含子串son_str,返回true
否则为false
regex_replace(fa_str,regex(son_str),str):
先复制一个fa_str,再用字符串str替换fa_str中所有符合son_str这一正则表达式的子串
返回值为替换后的母字符串
第四届程序设计天梯赛选题
以下三题难度逐题递增,但利用正则表达式,均可秒杀题目,而无需写大模拟浪费时间
L1-2 6翻了
题目链接 L1-2 6翻了
10行代码实现

本文通过三个实例展示了如何使用C++的<regex>库来处理正则表达式,包括替换特定模式的字符串,处理字符串开头和结尾的特定字符,以及在字符串中查找特定模式。这些技巧在解决程序设计竞赛问题时能有效提高效率。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



