【C++语言】正则表达式

一、正则表达式的概念

正则是一种规则,它用来匹配(进而捕获、替换)字符串。字符串根据正则规则进行处理,这种规则被许多语言所支持,C++11以后才支持正则。

二、具有特殊意义的元字符

\:\字符能够改变字符原本的含义

^:^字符指示字符串的头,且要求字符串以字符开头,不占位,\^表示一个真正的^符号

字符指示字符串的尾,且要求字符串以字符结尾,不占位,\表示一个真正的符号

():分组,大正则中包含小正则,可以改变默认的优先级,在模式中可以使用\1来表示第一组已然捕获到的东西

\b:指示字符串的边界(头/尾/空格左/空格右)

.:表示一个除了\n以外的任意一个字符,\.表示一个真正的.符号

|:字符串1 | 字符串2表示一个字符串,该字符串是字符串1和字符串2中的一个。|在正则表示式中的优先级比较混乱,所以建议加上足够多的括号来分组

\]:\[字符1字符2字符3......\]表示一个字符,该字符是字符1,字符2,字符3......中的某一个。中括号中出现的所有字符都是代表本身意思的字符(没有特殊含义),如\[.\]只能匹配.符号,而不能匹配任意符号 \[\^字符1字符2字符3......\]:表示一个字符,该字符不是字符1,字符2,字符3......中的任意一个 \[a\~z\]:表示一个字符,该字符是a,b,c......中的某一个 \[\^a\~z\]:表示一个字符,该字符不是a,b,c......中的某一个 \\w:表示一个字符,该字符是数字、字母、下划线中的某一个。等价于\[(0\~9)(a\~z)(_)

\W:表示一个字符,该字符不是数字、字母、下划线中的任何一个。等价于[]

\d:表示一个字符,该字符是0、1、2...9中的某一个

\D:表示一个字符,该字符不是0、1、2...9中的任何一个

\s:表示一个字符,该字符是空白符(空格、制表符、换页符);代表出现的次数

三、量词元字符

:字符要求字符出现0到多次

+:字符+要求字符出现1到多次

?:字符?要求字符出现0次或者1次

{n}:字符{n}要求字符出现n次

{n,}:字符{n,}要求字符出现n到多次

{n,m}:字符{n,m}要求字符出现n到m次

所以含有\的元字符,在C++定义时,都要写成\\

四、常用的正则表达式

相关推荐
雨中飘荡的记忆4 天前
正则表达式入门到实战
正则表达式
长城202412 天前
HTML5中表单的pattern属性解析
前端·正则表达式·html·html5·pattern·pattern属性·pattern正则表达式
Gss77712 天前
Linux 正则表达式详解(基础 + 扩展 + 实操)
linux·运维·正则表达式
黑客思维者12 天前
正则表达式(九)网络安全:检测SQL注入攻击 + 检测XSS跨站脚本 + 扫描敏感信息泄露 + 匹配暴力破解异常IP
sql·web安全·正则表达式
黎雁·泠崖12 天前
Java常用类核心详解(七):正则表达式 Regex 从入门到实战
java·开发语言·正则表达式
秀儿还能再秀12 天前
正则表达式核心语法 + Python的 re 库中常用方法
python·正则表达式
xcLeigh12 天前
Python入门:Python3 正则表达式全面学习教程
python·学习·正则表达式·教程·python3
数据知道12 天前
MongoDB 正则表达式查询:在 MongoDB 中实现模糊搜索与索引优化陷阱
数据库·mongodb·正则表达式
A懿轩A13 天前
【Java 基础编程】Java 正则表达式实战:Pattern/Matcher、元字符与常用正则,验证与提取必备
java·开发语言·正则表达式
石牌桥网管13 天前
正则表达式:匹配不包含指定字符串的文本
java·javascript·python·正则表达式·go·php