gpt4 book ai didi

c++ - 使用 QRegularExpression 从句子中提取小数

转载 作者:行者123 更新时间:2023-11-30 01:45:32 25 4
gpt4 key购买 nike

我目前正在尝试提取以下十进制数:

2453.6756667756

来自以下句子:

ID: 1 x: 1202 y: 2453.6756667756 w: 242

我正在使用这段代码:

regularExpression.setPattern("(\\d+)(?:\\s*)(w:)")

但是它给了我这个结果:

6756667756

这根本不正确。

你能帮帮我吗?

最佳答案

您可以使用以下正则表达式:

\d+\.\d+(?=\s*w:)

参见 demo

在 Qt 中:

regularExpression.setPattern("\\d+\\.\\d+(?=\\s*w:)")

正则表达式匹配:

  • \d+ - 一位或多位数字
  • \. - 文字点
  • \d+ - 一位或多位数字
  • (?=\s*w:) - 一个积极的前瞻,确保在最后一个匹配的数字之后有零个或多个空白符号,并且 w 后跟 :(但是这个子字符串没有被消耗,只是检查存在,因为前瞻是零宽度断言)。

您可以使用 simpler regex没有捕获组的前瞻性:

(\d+\.\d+)\s*w:

然后,该值将在第 1 组中。

关于c++ - 使用 QRegularExpression 从句子中提取小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com