Qt - 用正则表达式分隔字符串

时间:2018-01-25 13:16:48

标签: regex qt

是否可以分隔以下字符串

displayName=Exposure Time [µs] unit=ms type=int min=10 max=1000 increment=50

用Qt的String :: split()方法使用正则表达式?结果必须是:

  • displayName =曝光时间[μs]
  • 单元=毫秒
  • 类型= INT
  • 分钟= 10
  • 最大= 1000
  • 增量= 50

我知道这不是一种善意,但如果有人能为我提供一个解决方案,那就是我的一天。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用

s.split(QRegularExpression("\\s+(?=\\w+=)"))

请参阅regex demo(请注意QRegularExpression使用PCRE风格)。

模式详情

  • \s+ - 一个或多个空白字符
  • (?=\w+=) - 需要一个或多个字母字符(字母,数字或_\w+匹配)的正面预测,后面紧跟着=符号当前位置。