Qt中的正则表达式
Regular Expression in Qt
我使用的是Qt5.6。
我需要在串行端口中处理传入数据,数据的格式为"AD=+1723345AD=+272345",依此类推。我将传入数据附加到QString
,并使用Regex提取小数。
如果我写一个正则表达式:
int tmp = StrData.indexOf(QRegularExpression("AD=+[0-9]{6}"))
它不匹配,即tmp总是-1。但我在这里测试了正则表达式,发现它是有效的。可能是什么问题?
根据文档,您可以使用QString.indexOf
内部的正则表达式来获取字符串中正则表达式re
的第一个匹配项的索引位置。
正则表达式的唯一问题是,在Qt中,字符串是C风格的,即它们可以包含转义序列。因此,转义正则表达式特殊字符的反斜杠必须加倍。
使用
QRegularExpression("AD=\+[0-9]{6}")
或
QRegularExpression("AD=[+][0-9]{6}")
由于在[...]
内部+
被视为文字字符。
相关文章:
- Qt - 在没有正则表达式的情况下,将 QString 拆分为几种类型的空格
- 如何在 QT 框架工作C++中使用变量作为正则表达式模式
- 带有Qt的正则表达式捕获一些文本
- 正则表达式传递正则表达式测试器,但在 qt 中失败
- Qt 中的不匹配数字正则表达式
- QT和正则表达式
- 在Qt Creator中使用正则表达式在多个文件中查找和替换
- Qt中的正则表达式
- Boost::qt Creator中的正则表达式
- 使用 c++ 或 Qt 将 SQL LIKE 表达式转换为正则表达式
- Qt验证器正则表达式
- 带有 Qt 的正则表达式 - indexIn(const QString &) 无法按预期工作
- Qt-检查正则表达式宽度
- 根据QT(C++)中SQLite数据库中的正则表达式检索记录
- 比较qt中的正则表达式
- 无效的正则表达式在Qt但在正则表达式教练这个相同的正则表达式是有效的
- 删除字符串贪婪正则表达式在QT
- Qt正则表达式不匹配
- 正则表达式qt中的条件
- 如何在QT c++中使用正则表达式从字符串中获得子字符串值