gpt4 book ai didi

python - 如何使用正后向查找仅查找某些 3 位数字?

转载 作者:行者123 更新时间:2023-12-04 14:48:55 24 4
gpt4 key购买 nike

在这段文本中,我只想使用我的出发城市 (NYC) 识别特定的三位数字作为正后视表达式。除了所需的三位数之外,我不想在结果中包含它或任何其他内容。

我不能简单地使用 \d{3,} 因为文本中还有其他三位数字我没有包含在这里,它们不应该出现在输出中。

示例字符串:

Depart: NYC (etd 9/30), NJ (etd 10/4)
Arrive LAX
Rate: USD500, 700P

我的正则表达式

(?<=NYC)(\D|\S)*\d{3,}

输出

 (etd 9/30), NJ (etd 10/4) Arrive LAX Rate: USD500, 700

但是,我希望它只输出 700

我也试过

(?<=NYC)(?<=(\D|\S)*)\d{3,}

但这不会输出任何东西。

最佳答案

你可以使用

(?s)NYC.*?\b(\d{3,})

参见 regex demo . 详细信息:

  • (?s) - re.DOTALL 内联修饰符
  • NYC - NYC 单词
  • .*? - 尽可能少的任何零个或多个字符
  • \b - 单词边界
  • (\d{3,}) - 第 1 组:三位数或更多位数。

参见 Python demo :

import re
text = """Depart: NYC (etd 9/30), NJ (etd 10/4)
Arrive LAX
Rate: USD500, 700P"""
m = re.search(r'(?s)NYC.*?\b(\d{3,})', text)
if m:
print(m.group(1))

# => 700

关于python - 如何使用正后向查找仅查找某些 3 位数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69407949/

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