gpt4 book ai didi

ruby - 正则表达式提取两个字符串之间的字符串

转载 作者:数据小太阳 更新时间:2023-10-29 08:34:43 26 4
gpt4 key购买 nike

我正在尝试使用正则表达式提取字符串。例如在以下字符串中:

select DESCENDANTS([Customer].[Yearly Income],,LEAVES) on axis(0),
DESCENDANTS([Sales Territory].[Sales Territory],,LEAVES) on axis(1),
DESCENDANTS([Customer].[Total Children],,LEAVES) on axis(2)
from [Adventure Works]
where [Measures].[Internet Sales Amount]

我想提取每对“DESCENDANTS(”和“,,,”之间的子字符串。

所以在这种情况下的结果将是:[客户].[年收入],[销售区域]。[销售区域],[客户]。[子总数]

感谢任何帮助。提前致谢。

最佳答案

如果您的文本位于一个名为 query 的字符串中,您可以:

query.scan(/DESCENDANTS\((.+),,/).flatten
=> ["[Customer].[Yearly Income]", "[Sales Territory].[Sales Territory]",
"[Customer].[Total Children]"]

一些注意事项:

  • \( 匹配文字左括号
  • (.+) 记住左括号和两个逗号之间的字符作为捕获
  • 如果正则表达式包含捕获 (),则 scan 将为每个匹配项返回一个由捕获部分组成的数组。在这种情况下,每个匹配项只有 1 个捕获,因此 flatten 可用于返回我们感兴趣的所有匹配项的单个数组。

关于ruby - 正则表达式提取两个字符串之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3613595/

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