字符串内容为:
2015-09-16 14:30:52, 1365
2015-09-16 14:30:53, 1368
2015-09-16 14:30:54, 1375
2015-09-16 14:30:55, 1370
我写的正则表达式为:QRegExp rx(tr("\,\s\d{1,}"));
在Regex Match Tracer里验证是对的,怎么到Qt里就错了呢?
引言
正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbb......
答案就在这里:Qt中的正则表达式
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
\d{4}\-\d{2}\-\d{2}\s\d{2}\:\d{2}\:\d{2}\,\s\d{1,}
格式验证用:
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)\s+([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9],\s\d{1,}$
如果是字符串提取,去掉首尾的 ^
$