Regex Qt-带正则表达式的分隔字符串

Regex Qt-带正则表达式的分隔字符串,regex,qt,Regex,Qt,是否可以分隔以下字符串 displayName=Exposure Time [µs] unit=ms type=int min=10 max=1000 increment=50 使用Qt的String::split()方法使用正则表达式?结果必须是: displayName=曝光时间[微秒] 单位=毫秒 类型=int 最小值=10 最大值=1000 增量=50 我知道这不好,但如果有人能给我一个解决方案,你会让我高兴的 提前谢谢 您可以使用 s.split(QRegularExpressi

是否可以分隔以下字符串

displayName=Exposure Time [µs] unit=ms type=int min=10 max=1000 increment=50
使用Qt的String::split()方法使用正则表达式?结果必须是:

  • displayName=曝光时间[微秒]
  • 单位=毫秒
  • 类型=int
  • 最小值=10
  • 最大值=1000
  • 增量=50
我知道这不好,但如果有人能给我一个解决方案,你会让我高兴的

提前谢谢

您可以使用

s.split(QRegularExpression("\\s+(?=\\w+=)"))
请参阅(注意
QRegularExpression
使用PCRE风味)

图案细节

  • \s+
    -1个或多个空白字符
  • (?=\w+=)
    -需要一个或多个单词字符(字母、数字或与
    \w+
    匹配的
    \w+
    )并紧跟在当前位置右侧的
    =
    符号的正向前瞻

为什么要使用正则表达式?提供更多可能条目的示例,因为条目中的样本可以以多种方式解释。您的分离标准是什么?这种分离至少对我来说是没有逻辑的,所以如果你不提供更多的信息,将很难提供帮助。谢谢你的快速回复。我希望这能更好地帮助您:因此我有一个key=value的字符串key=value等等。键是至少一个可以以数字开头的字符或字符串。除了{和}之外,每个符号都应该允许出现在键的名称或值的名称中。在上述情况下,这两个名称中的任何一个中的空格也可以。因此,一般情况是一系列具有上述限制的键=值对。这对你有帮助吗?我还没有那么多的例子。一个键名当然不能包含空格,但一个值名可以看到不同的方法,这很有趣,@rkta的解决方案很好(如果你有空格时可以依赖']')。我想到了这个正则表达式:但它也捕获了空格分隔符(您可以修剪或检索组捕获,而不是匹配)。