从python中的字符串中提取年份

use*_*827 1 python regex

我该如何解析foll.在python中提取年份:

'years since 1250-01-01 0:0:0'
Run Code Online (Sandbox Code Playgroud)

答案应该是1250

ale*_*cxe 11

有各种方法可以做到这一点,这里有几个选项:

最后两个涉及更多"移动部件",可能不适用,具体取决于输入字符串的可能变化.

  • 不知道“糊涂”。整洁的。 (2认同)
  • 整洁的!我也不知道这个。 (2认同)

idj*_*jaw 5

您可以使用带有围绕四位数的捕获组的正则表达式,同时还要确保围绕它具有特定模式.我可能会寻找一些东西:

  • 4位数和一个捕获 (\d{4})

  • 连字符号 -

  • 两位数 \d{2}

  • 连字符号 -

  • 两位数 \d{2}

赠送: (\d{4})-\d{2}-\d{2}

演示:

>>> import re
>>> d = re.findall('(\d{4})-\d{2}-\d{2}', 'years since 1250-01-01 0:0:0')
>>> d
['1250']
>>> d[0]
'1250'
Run Code Online (Sandbox Code Playgroud)

如果你需要它作为一个int,只需将其转换为:

>>> int(d[0])
1250
Run Code Online (Sandbox Code Playgroud)