QT 正则表达式(进阶篇)IP,端口号,文件名,非空格字符的匹配,已验证

输入可见字符(除去空格 回车 ...)

QRegExp rxp("^\w+\S+$");

IP正则表达式

QRegExp rxp("\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b");

端口号正则表达式

QRegExp rxp("^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$");

0-100的保留两位小数正则表达式

QRegExp rxp("^(100|0?[0-9]?\d(\.\d{1,2})?)$");

只能输入数字

QRegExp rxp("^[0-9]*$");

应用实例:

1 QRegExp rxp("^\w+\S+$");  //输入可见字符(除去空格 回车 ...)
2 QRegExpValidator *pRep = new QRegExpValidator(rxp, this);
3 ui->lineEdit_ProjectName->setValidator(pRep);

匹配非负整数(正整数 + 0)

^d+$

匹配正整数

^[0-9]*[1-9][0-9]*$

匹配非正整数(负整数 + 0)

^((-d+)|(0+))$

匹配负整数

^-[0-9]*[1-9][0-9]*$

匹配整数

^-?d+$

匹配非负浮点数(正浮点数 + 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]*))$

匹配非正浮点数(负浮点数 + 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]*)))$

匹配浮点数

^(-?d+)(.d+)?$

匹配由26个英文字母组成的字符串

^[A-Za-z]+$

匹配由26个英文字母的大写组成的字符串

^[A-Z]+$

匹配由26个英文字母的小写组成的字符串

^[a-z]+$

匹配由数字和26个英文字母组成的字符串

^[A-Za-z0-9]+$

匹配由数字、26个英文字母或者下划线组成的字符串

^w+$

匹配email地址

^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$

匹配url

^[a-zA-z]+://匹配(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

匹配html tag

<s*(S+)(s[^>]*)?>(.*?)<s*/1s*>

原文地址:https://www.cnblogs.com/Lijcyy/p/8940134.html