gpt4 book ai didi

python - 正则表达式提取字符串中的第一组数字及其后的所有单词

转载 作者:行者123 更新时间:2023-11-30 23:23:00 24 4
gpt4 key购买 nike

尝试编写一个正则表达式,在 python 2.7 中执行以下操作:

FOO 288-B BAR <MATCH: "288-B BAR">

BURT 69/ERNIE 96/KERMIT 287 <MATCH: "69">

53 ORANGE <MATCH: "53 ORANGE">

APPLE 457-W <MATCH: "457-W">

除了“空格”和“-”和“/”之外没有其他标点符号。我只想匹配任何数字的第一次出现以及后面带有“-”或“空格”的任何字母/单词。

我已经尝试过:

最佳答案

如果我了解您的要求,您可以使用它,然后从组 1 中检索匹配项:

(?im)^\D*(\d+(?:[- ][a-z ]*[a-z])?)

这是一个demo (请查看右下 Pane 中的捕获组)。

要检索匹配项:

for match in re.finditer(r"(?im)^\D*(\d+(?:[- ][a-z ]*[a-z])?)", subject):
yournumber = match.group(1)

它是如何工作的?

  1. (?im) 多行、不区分大小写模式中的 ^ 将我们定位在行的开头。
  2. \D* 会跳过任何非数字
  3. (\d+(?:[- ][a-z ]*[a-z])?) 匹配并捕获第 1 组数字(可选后跟破折号或空格以及更多空格)和字母,以字母结尾。

关于python - 正则表达式提取字符串中的第一组数字及其后的所有单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24195590/

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