gpt4 book ai didi

正则表达式捕获组帮助netsuite/oracle

转载 作者:行者123 更新时间:2023-12-02 00:55:51 25 4
gpt4 key购买 nike

我已经在 regex101 上玩了一段时间,但无法弄清楚这一点,也许是因为 NetSuite 中使用的正则表达式版本所致。在 regex101 上,使用下面的字符串突出显示我想要作为组 1 的部分,但在 NetSuite 中不会产生任何结果。

我已经尝试过:(?:,[^,]+,?){2}(,[^,]+,?)尝试从此数据集中获取第三个和第四个逗号之间的值:

+000000006 06:23:15.291450,W-CHEVLPFULL-LP | ,+000000006 06:23:15.291450,W-CHEVUS | ,
+000000044 08:09:52.291450,W-ADITIVOSSM-SM | KM8014,+000000044 08:09:52.291450,W-CHEVLPFULL-LP | KM8014,
+000000125 00:53:18.291450,W-ADITHPSMFULL-HP-SM | ,+000000125 00:53:18.291450,W-ADITIVOSSM-SM | ,
+000000138 05:08:01.291450,W-ADITHPSMFULL-HP-SM | KM8512,+000000138 05:08:01.291450,W-EMPTYAVAILABLE | KM8512,
+000000138 05:20:45.291450,W-ADITIVOSSM-SM | ,+000000138 05:20:45.291450,W-EMPTYAVAILABLE |

这将是:

W-CHEVUS | 
W-CHEVLPFULL-LP | KM8014
W-ADITIVOSSM-SM |
W-EMPTYAVAILABLE | KM8512
W-EMPTYAVAILABLE |

我尝试过其他“非捕获组”并得到了奇怪的结果,这使我认为它不受支持或者我错误地使用了它们。

任何帮助将不胜感激。谢谢!

最佳答案

也许您可以使用单个捕获组和 anchor 来断言字符串的开头。您的值将位于第一个捕获组中

^[^,]+(?:,[^,]+){2},([^,]+)
  • ^ 字符串开头
  • [^,]+ 匹配 1 次以上,不是逗号
  • (?:,[^,]+){2} 匹配逗号重复 2 次,然后非逗号重复 1 次以上
  • , 匹配第三个逗号
  • ([^,]+) 在组 1 中捕获匹配 1+ 次的非逗号

Regex demo

关于正则表达式捕获组帮助netsuite/oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56879027/

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