正则匹配中文出生日期 python
时间: 2023-11-17 07:17:53 浏览: 82
您可以使用正则表达式来匹配中文出生日期,以下是一个示例代码:
```python
import re
def match_chinese_date(text):
pattern = r'\d{4}年\d{1,2}月\d{1,2}日'
result = re.findall(pattern, text)
return result
# 示例用法
text = '我的出生日期是1990年12月31日,我很喜欢这一天。'
dates = match_chinese_date(text)
print(dates)
```
此代码使用 `\d{4}年\d{1,2}月\d{1,2}日` 的正则表达式模式匹配中文日期,其中 `\d{4}` 表示匹配四个数字(代表年份),`\d{1,2}` 表示匹配一到两个数字(代表月份和日期)。`re.findall(pattern, text)` 返回所有匹配的日期列表。
在上述示例中,输出将是 `['1990年12月31日']`。
相关问题
正则匹配出生日期 python
可以使用正则表达式来匹配出生日期。以下是一个示例代码:
```python
import re
# 正则表达式模式
pattern = r'\d{4}-\d{2}-\d{2}'
# 输入的文本
text = '我的生日是1990-06-15'
# 使用findall()方法查找匹配的结果
matches = re.findall(pattern, text)
# 输出匹配的结果
for match in matches:
print(match)
```
运行以上代码,输出为:
```
1990-06-15
```
上述代码中,使用了`\d{4}-\d{2}-\d{2}`作为正则表达式的模式,其中`\d`表示匹配数字,`{4}`表示前面的模式重复4次,`{2}`表示前面的模式重复2次。这样就可以匹配格式为YYYY-MM-DD的日期。使用`re.findall()`方法可以查找所有匹配的结果并返回一个列表。
在Python中利用正则匹配身份证号码
可以使用Python的re模块来进行正则匹配身份证号码。身份证号码的规则是18位数字或17位数字加一位数字或字母X。
以下是一个示例代码:
```python
import re
pattern = r'^\d{17}[\dXx]$'
id_number = '110101199003074312'
if re.match(pattern, id_number):
print('身份证号码格式正确')
else:
print('身份证号码格式错误')
```
解释:
- `r'^\d{17}[\dXx]$'`是一个正则表达式,`^`表示字符串开头,`\d`表示数字,`{17}`表示前面的数字重复17次,`[\dXx]`表示最后一位可以是数字或字母X或小写字母x,`$`表示字符串结尾。
- `id_number`是要匹配的身份证号码。
- `re.match()`函数用于尝试从字符串的起始位置匹配正则表达式,如果匹配成功则返回一个匹配对象,否则返回None。
- 如果匹配成功,则输出“身份证号码格式正确”,否则输出“身份证号码格式错误”。
注意:这只是一个简单的示例代码,实际应用中还需要考虑其他因素,比如地区码、出生日期等。
阅读全文