gpt4 book ai didi

c# - 如何在正则表达式中提取中间值

转载 作者:行者123 更新时间:2023-12-04 15:00:13 25 4
gpt4 key购买 nike

我正在尝试通过正则表达式提取流中存在的第五个和第六个值。

流是

12,097.00 435.00 100.00 43,037.00 3,090.00 200.00 86.00 45,890.47 7,570.00 51,514.47

我想要值 200.00100.00

我试过 ^(?:\S+\s+\n?){3,3} 但它是从头开始选择字符串。

谁能帮我获取中间值?

最佳答案

使用像 {3,3} 这样的量词可以写成 {3},但请注意示例字符串中的值 200.00100.00 不是第 5 个和 6th 值。

使用您的模式,您只能在开头获得值,因为 anchor ^ 断言字符串的开头。

要获得第三个和第六个值,您还可以通过对中间部分使用量词 {2} 来使用 2 个捕获组。

^(?:\S+\s+){2}(\S+)(?:\s+\S+){2}\s+(\S+)
  • ^ 字符串开始
  • (?:\S+\s+){2} 重复 2 次匹配非空白字符后接空白字符
  • (\S+) 捕获第 1 组,匹配 1+ 个非空白字符
  • (?:\s+\S+){2}\s+ 重复2次匹配空白字符和非空白字符
  • (\S+) 捕获组 2,匹配 1+ 个非空白字符

Regex demo

关于c# - 如何在正则表达式中提取中间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67089318/

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