gpt4 book ai didi

regex - 使用正则表达式捕获可选的第二组数字(非重复)

转载 作者:行者123 更新时间:2023-12-01 23:32:22 24 4
gpt4 key购买 nike

我有一个巨大的数据集,我试图在其中提取一组 4 位数字。问题是,有时会出现我想要的前一组 4 位数字。这 2 个组永远不会相同。

例子:

String String 7777 Some more string  
String 1234 7777 Some more string

在这两种情况下,我只想提取 7777(或替换它的任何数字组合)。没有模式可以区分哪个数字组位于哪个位置 - 从 0000 到 9999 的任何数字都可以位于第一位或第二位。

如果这是可能的,我想它会做我想做的事吗?

\b\d{4}{0,1}\s{0,1}(\d{4})\b

可选4位,可选空格,捕获4位。但我已经尝试过它及其一些变体,但我无法让它工作!

前瞻似乎是一个可能的候选者,但我不明白如何构建模式。

最佳答案

你可以使用否定的前瞻来检查它后面是否没有后续 4 位数字:

\b\d{4}\b(?!\s?\d{4}\b)

参见 demo

编辑:

要捕获后面没有任何文本的 4 位数字和另一个 4 位数字,您应该使用:

\b\d{4}\b(?!.+\b\d{4}\b)

参见 demo

关于regex - 使用正则表达式捕获可选的第二组数字(非重复),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30070776/

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