2. 正则表达式中的一些高级规则
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:54
4.7 或 “|” 的左右两边,对某个字符最好只有一边可以匹配,这样,不会因为 “|” 两边的表达式因为交换位置而有所不同。
匹配非负整数(正整数 + 0) ^\d+\(<br/>匹配正整数 ^[0-9]*[1-9][0-9]*\)
匹配非正整数(负整数 + 0) ^((-\d+)|(0+))\(<br/>匹配负整数 ^-[0-9]*[1-9][0-9]*\)
匹配整数 ^-?\d+\(<br/>匹配非负浮点数(正浮点数 + 0) ^\d+(\.\d+)?\)
匹配正浮点数 ^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))\(<br/>匹配非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))\)
匹配负浮点数 ^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))\(<br/>匹配浮点数 ^(-?\d+)(\.\d+)?\)
匹配由26个英文字母组成的字符串 ^[A-Za-z]+\(<br/>匹配由26个英文字母的大写组成的字符串 ^[A-Z]+\)
匹配由26个英文字母的小写组成的字符串 ^[a-z]+\(<br/>匹配由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+\)
匹配由数字、26个英文字母或者下划线组成的字符串 ^\w+\(<br/>匹配email地址 ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+\)
匹配url ^[a-zA-z]+://匹配(\w+(-\w+))(.(\w+(-\w+)))(\?\S)?\(<br/>匹配html tag <\s*(\S+)(\s[^>]*)?>(.*?)<\s*\/\1\s*></p>
<p>"^\d+\)“ //非负整数(正整数 + 0)
”^[0-9][1-9][0-9]\(" //正整数 <br/>"^((-\d+)|(0+))\)“ //非正整数(负整数 + 0)
”^-[0-9][1-9][0-9]\(" //负整数 <br/>"^-?\d+\)“ //整数
”^\d+(.\d+)?\(" //非负浮点数(正浮点数 + 0) <br/>"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))\)“ //正浮点数
”^((-\d+(.\d+)?)|(0+(.0+)?))\(" //非正浮点数(负浮点数 + 0)<br/>"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))\)“ //负浮点数
”^(-?\d+)(.\d+)?\(" //浮点数 <br/>"^[A-Za-z]+\)“ //由26个英文字母组成的字符串
”^[A-Z]+\(" //由26个英文字母的大写组成的字符串 <br/>"^[a-z]+\)“ //由26个英文字母的小写组成的字符串
”^[A-Za-z0-9]+\(" //由数字和26个英文字母组成的字符串 <br/>"^\w+\)“ //由数字、26个英文字母或者下划线组成的字符串
”^[\w-]+(.[\w-]+)@[\w-]+(.[\w-]+)+$“ //email地址
”^[a-zA-z]+://(\w+(-\w+))(.(\w+(-\w+)))(\?\S)?\(" //url <br/>"^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))\)“ // 年-月-日
”^((0([1-9]{1}))|(1[1|2]))/((0-2)|(3[0|1]))/(d{2}|d{4})\(" // 月/日/年<br/>"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)\)“ //Email
”(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?“ //电话号码
”^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])\(" //IP地址</p>
<p>^([0-9A-F]{2})(-[0-9A-F]{2}){5}\) //MAC地址的正则表达式
^[-+]?\d+(.\d+)?\( //值类型正则表达式</p>
<p>==================================================================================</p>
<p>QRegExp是Qt的正则表达式类.</p>
<p>Qt中有两个不同类的正则表达式.<br/>第一类为元字符.它表示一个或多个常量表达式.<br/>令一类为 转义字符,它代表一个特殊字符.</p>
<h2>一.元字符</h2>
<p>. 匹配任意单个字符. 例如, 1.3 可能是1. 后面跟任意字符,再跟3<br/>^ 匹配字符串首. 例如, ^12可能是123,但不能是312<br/>\) 匹配字符串尾. 例如, 12$可以是312, 当不能是 123
[ ] 匹配括号内输入的任意字符. 例如[123]可以为1, 2 或3
匹配任意数量的前导字符. 例如, 12可以为任意数量个1(甚至没有), 后面跟一个2
+ 匹配至少一个前导字符. 例如, 1+2必须为一个或多个1, 后跟一个2
? 匹配一个前导字符或为空. 例如 1?2可以为2或12
二.统配模式
通过 QRegExp::setPatternSyntax(QRegExp::Wildcard);可以将元字符设置为统配模式.在统配模式下,只有3个元字符可以使用.他们的功能没有变化.
? 匹配任意单个字符, 例如, 1?2可以为1,后面跟任意单个字符, 再跟2
匹配任意一个字符序列. 例如, 12, 可以为1, 后面跟任意数量的字符, 再跟一个2
[ ] 匹配一个定义的字符集合. 例如, [a-zA-Z.]可以匹配 a到z之间任意一个字符和. [^a]匹配出小写a以外的字符.
三.转义序列
. 匹配 “.”
^ 匹配 “^”
$ 匹配 “$”
[ 匹配“[”
] 匹配“ ]”
* 匹配 “”
+ 匹配 “+”
\? 匹配 “?”
\b 匹配 响铃字符,使计算机发出嘟的一声.
\t 匹配 制表符号
\n 匹配 换行符号
\r 匹配 回车符
\s 匹配 任意空格
\xnn 匹配 16进制为nn的字符
\0nn 匹配 8进制的nn字符
这些表达式均以 \ 开始, 与C++的转义字符相同,所以为了定义QRegExp中的一个转义序列,
需要在前面添加\
///下面是示例
相关文章
-
2.0 补充nlpcda一键中文数据增强工具(NLP Chinese Data Augmentation )
2.0 补充nlpcda一键中文数据增强工具(NLP Chinese Data Augmentation )
- 互联网
- 2026年04月04日
-
2.6 CE修改器:代码注入功能
2.6 CE修改器:代码注入功能
- 互联网
- 2026年04月04日
-
2.sklearn库中的标准数据集与基本功能
2.sklearn库中的标准数据集与基本功能
- 互联网
- 2026年04月04日
-
2. 事件委托(Event Delegate)
2. 事件委托(Event Delegate)
- 互联网
- 2026年04月04日
-
2. 人声与背景声分离——SpeeterGUI
2. 人声与背景声分离——SpeeterGUI
- 互联网
- 2026年04月04日
-
2. 创建PostProcessStage
2. 创建PostProcessStage
- 互联网
- 2026年04月04日






