python中正则表达式匹配文件名中的年份
时间: 2024-03-09 17:45:01 浏览: 36
可以使用以下正则表达式来匹配文件名中的年份:
```python
import re
filename = "example_2021-06-15.txt"
pattern = r"\d{4}"
match = re.search(pattern, filename)
if match:
year = match.group()
print(year)
else:
print("未找到年份")
```
解释一下这个正则表达式:
- `\d{4}` 表示匹配4位数字的年份。
这个正则表达式可以匹配以下文件名中的年份:
- "example_2021-06-15.txt",匹配到的年份是 2021。
- "2022_example.txt",匹配到的年份是 2022。
- "example.txt",未找到年份。
相关问题
python中正则表达式匹配浮点数
在 Python 中,可以使用 `re` 模块中的正则表达式来匹配浮点数。以下是一个示例正则表达式,可以匹配所有形式的浮点数:
```
import re
pattern = r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$'
text = "3.14"
match = re.match(pattern, text)
if match:
print("Matched!")
else:
print("Not matched.")
```
上述正则表达式中,`^[-+]?` 匹配可选的正负号;`[0-9]*\.?[0-9]+` 匹配整数部分、小数点和小数部分;`([eE][-+]?[0-9]+)?` 匹配可选的指数部分。
python中正则表达式匹配年份_正则表达式匹配字符串中最后出现的年份
可以使用以下正则表达式来匹配字符串中最后出现的年份:
```python
import re
text = "这是一个包含年份2021和2022的字符串,最后出现的年份是2022"
pattern = r"\b\d{4}\b(?![\s\S]*\d{4})"
match = re.search(pattern, text)
if match:
year = match.group()
print(year)
else:
print("未找到年份")
```
解释一下这个正则表达式:
- `\b` 表示单词边界,确保匹配的是一个完整的年份,而不是数字的一部分。
- `\d{4}` 表示匹配4位数字的年份。
- `(?![\s\S]*\d{4})` 表示负向前瞻,确保匹配的年份后面没有其他年份,这样就可以匹配最后出现的年份。`[\s\S]*` 表示匹配任意字符,包括换行符。
这个正则表达式可以匹配以下字符串:
- "2021年是一个好年份,2022年也会更好",匹配到的年份是 2022。
- "这是一个包含年份2021和2022的字符串,最后出现的年份是2022",匹配到的年份是 2022。
- "这个字符串中没有年份",未找到年份。