python提取字符串中的日期
时间: 2023-10-15 20:03:53 浏览: 45
可以使用Python中的正则表达式模块re来提取字符串中的日期。以下是一个示例代码:
```python
import re
text = "今天是2021年11月11日,明天是2021/11/12"
# 匹配 年-月-日 或者 年/月/日 的日期格式
dates = re.findall(r"\d{4}[/-]\d{1,2}[/-]\d{1,2}", text)
print(dates)
```
运行结果:
```
['2021年11月11日', '2021/11/12']
```
这个正则表达式会匹配所有类似于“2021-11-11”或“2021/11/11”的日期格式。如果你需要匹配其他格式的日期,可以根据需要修改正则表达式。
相关问题
python用正则表达式提取字符串中的日期
可以通过re模块使用正则表达式提取字符串中的日期。
例如:
```python
import re
text = "今天是2022年7月1日,明天是2022年7月2日。"
matchObj = re.search(r'\d{4}年\d{1,2}月\d{1,2}日', text)
if matchObj:
date = matchObj.group()
print(date) # 输出:2022年7月1日
else:
print("没有匹配到日期")
```
上述代码将从字符串 `text` 中提取出日期,其中正则表达式 `\d{4}年\d{1,2}月\d{1,2}日` 匹配的是 "年月日" 格式的日期。
如果需要匹配其他格式的日期,可以根据实际情况修改正则表达式。
Python应用正则表达式提取该字符串中的日期时间字符串。
下面是一个Python代码示例,使用正则表达式从一个字符串中提取日期时间字符串:
```python
import re
text = "今天是2021年8月31日,时间是14:30:00。"
# 定义日期时间正则表达式
pattern = r"\d{4}年\d{1,2}月\d{1,2}日,\S*?(\d{1,2}:\d{1,2}:\d{1,2})"
# 使用正则表达式提取日期时间字符串
match = re.search(pattern, text)
# 输出提取的日期时间字符串
if match:
datetime_str = match.group(0)
print(datetime_str)
else:
print("未找到日期时间字符串。")
```
在上面的代码中,我们定义了一个正则表达式模式,用于匹配形如“2021年8月31日,时间是14:30:00”的日期时间字符串。
我们使用Python的re模块中的search()函数,在文本中搜索匹配该模式的字符串。如果找到了匹配的字符串,我们将其保存到变量datetime_str中,并输出。如果没有找到匹配的字符串,则输出一个错误消息。
注意,我们在正则表达式模式中使用了\S*?表示任意非空字符,这是为了匹配日期和时间之间的“,时间是”部分,因为这里可能存在空格或其他字符。