gpt4 book ai didi

python - [nn.nn] 或 [nn] 的正则表达式,具有更正的分组

转载 作者:行者123 更新时间:2023-11-28 21:19:53 27 4
gpt4 key购买 nike

我正在尝试构建一个正则表达式来处理以字符串形式呈现给我的数据类型,有两种可能的格式:

  1. 字符串[nmin..nmax]
  2. 字符串[nmax]

其中 nmin 和 nmax 是一些数字。

我构建了适合我的正则表达式,但我想找到一种更好的方法

\[(\d+)(\.{2})?(\d+)?\] 

我不喜欢的地方:

  1. 我将点放在单独的组中,但我不需要将它们作为一个组。

  2. nmax 始终存在,但根据模式,它会在第 1 组或第 3 组中。我有办法始终将它放在同一组中吗?

最佳答案

如果您希望nmax 始终在同一组中,您可以使用

\[(?:(\d+)\.{2})?(\d+)]

(?:...) 是一个非捕获组,我们用它来制作 nmin.. 匹配结构,(\d+)\.{2},可选。

但即使它是可选的,捕获组索引也会递增:nmax 将始终在组 2 中,nmin(如果存在)始终在组 1 中。请参阅demo here .

关于python - [nn.nn] 或 [nn] 的正则表达式,具有更正的分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23806951/

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