python 正则表达式校验文件名
179浏览 · 2023-10-06 08:07:04
以下是一个 Python [正则[表达](https://geek.csdn.net/educolumn/1410a16bee391aa5cfc33ba70e3247b7?spm=1055.2569.3001.10083)式](https://geek.csdn.net/educolumn/b04e5fff38104b983e9ace05416bf01b?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)校验文件名的示例:
```python
import re
filename = "example_file.txt" # 文件名
pattern = r'^[a-zA-Z0-9_\-]+\.[a-zA-Z0-9]+$' # [正则[表达](https://geek.csdn.net/educolumn/1410a16bee391aa5cfc33ba70e3247b7?spm=1055.2569.3001.10083)式](https://geek.csdn.net/educolumn/b04e5fff38104b983e9ace05416bf01b?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)模式
if re.match(pattern, filename):
print("文件名合法")
else:
print("文件名不合法")
- `^[a-zA-Z0-9_\-]+`:以字母、数字、下划线或破折号开头,且至少出现一次。
- `\.`:匹配一个点(即文件名与扩展名的分隔符)。
- `[a-zA-Z0-9]+$`:以字母或数字结尾,且至少出现一次。
如果文件名匹配[正则表达式](https://geek.csdn.net/educolumn/b04e5fff38104b983e9ace05416bf01b?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)模式,则输出 "文件名合法",否则输出 "文件名不合法"。
相关问题
以下是使用Python正则表达式校验护照的示例代码:
```python
import re
passport = input("请输入护照号码:")
# 定义护照号码的正则表达式
pattern = r'^[A-Z]{1}\d{8}$'
# 使用re模块的match函数进行匹配
if re.match(pattern, passport):
print("护照号码格式正确!")
else:
print("护照号码格式错误,请重新输入!")
在上述代码中,我们首先使用`import re`语句导入Python的正则表达式模块。然后,我们通过`input()`函数获取用户输入的护照号码,并将