我如何在Regex和之后的一切中分手

2024-09-30 02:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个正则表达式,它成功地捕获了一个日期。现在我想把它分开,这样约会之后的一切都会被拿走。我现在有:

data = "11/07/2020 apple\n juice\n 11/07/2020 pear"
dateRegex = re.compile('([0-9]+\/[0-9]+\/[0-9]+)')
splittedData = re.split(dateRegex, data)

# Splits into: ['11/07/2020', ' apple\n juice\n ', '11/07/2020' ' pear']
# Desired:     ['11/07/2020 apple\n juice\n ', '11/07/2020 pear']

提前谢谢


Tags: reappledatajuicesplit约会pearcompile
1条回答
网友
1楼 · 发布于 2024-09-30 02:22:20

你可以用

(?<=\s)(?=\d+/\d+/\d+)

注意:与Python 3.7及更新版本中的re.split一起使用,其中添加了对可能匹配空字符串的模式的拆分支持

详细信息

  • (?<=\s)-前面紧跟空白的位置
  • (?=\d+/\d+/\d+)-紧跟在1+位之后的位置,以及两次出现的/+一个或多个位

Python demo

import re
data = "11/07/2020 apple\n juice\n 11/07/2020 pear"
dateRegex = re.compile('(?<=\s)(?=\d+/\d+/\d+)')
splittedData = re.split(dateRegex, data)
print(splittedData)
# => ['11/07/2020 apple\n juice\n ', '11/07/2020 pear']

相关问题 更多 >

    热门问题