connect中信号和槽严格对应?
SIGNAL--SLot,不能一个&取地址,一个slot
connect(m_pThreadMatlab, SIGNAL(openMatlabEngine(bool)), this, SLOT(slot_openMatlabEngine(bool)))
QRegExp rxlen("(\\d+)(?:\s+)(cm|inch(?:es)?)");//这里没有严格规定从头开始匹配
int pos = rxlen.indexIn("Length: 189cm");
为什么\s后面是+无法匹配,匹配1或多次, 如果是*就可以,匹配0或多次。
- 若要匹配一行文本开始处的文本,请在正则表达式的开始使用 ^ 字符。不要将 ^ 的这种用法与中括号表达式内的用法混淆。
- 若要匹配一行文本的结束处的文本,请在正则表达式的结束处使用 $ 字符。
- [a-z]表示要匹配的范围,{表示要匹配的重复多少次, 同*匹配任意多次,或者+匹配一次以上}——量词
- (断言 ?=E表达式)(?!E)
/[1-9][0-9]?/
或者 ?的效果
/[1-9][0-9]{0,1}/
学习地址:https://blog.csdn.net/qq_41399894/article/details/87800161
exp1(?=exp2):查找 exp2 前面的 exp1。!!!exp1才是匹配目标,exp2不会匹配。
匹配数字前面的ruuoob字符串
/ruuoob(?=[\d+])/g
使用示例
123456ruuoob123ruuoob456结果ruuoob,ruuoob
!目的是说匹配后面那个exp
(?<=exp2)exp1:查找 exp2 后面的 exp1。
.{2} | 所有的两个字符 |
/ter\b/ | 可匹配chapter,而不能匹配terminal。 |
.匹配的所有的字符,而不是.
/filename\.ext/
若要创建匹配字符组的一个列表,请在方括号([ 和 ])内放置一个或更多单个字符。
double或者float?
浮点数:"^(-?\d+)(\.\d+)?$"
唯一一个空格区分怎么做到的?空格也包括在\\s之内
?=相当于这一段不要了!!
QRegExp rx("(\\d+)(?:\\s*)(cm|inch(?:es)?)");
int pos = rx.indexIn("Length: 36 inches");
QStringList list = rx.capturedTexts();
// list is now ("36 inches", "36", "inches")
QRegExp rx("(\\d+)(\\s*)(cm|inch(es)?)");
int pos = rx.indexIn("Length: 36 inches");
QStringList list = rx.capturedTexts();
// list is now ("36 inches", "36", " ", "inches", "es")
\s |
匹配任意空白字符 |
\S |
匹配任意非空白的字符 |
\s空白字符确实就是指空格!!!!但空格不匹配,故常用?:
不可以用加号分开写吗?
最简单去空格
QString rule = "(?:\\s*)(\\d+)";
QRegExp rxlen(rule);//这里没有严格规定从头开始匹配
int pos = rxlen.indexIn(" 189");
qDebug() << rxlen.cap(1);
QString rule = "(?:\\s*)(\\d+)(?:\\s*)(\\d+)";
QRegExp rxlen(rule);