python正则表达式校验护照
时间: 2023-11-20 10:58:59 浏览: 55
以下是使用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()`函数获取用户输入的护照号码,并将其存储在变量`passport`中。
接下来,我们定义了一个正则表达式模式`pattern`,用于匹配护照号码。该正则表达式要求护照号码以一个大写字母开头,后面跟着8个数字。
最后,我们使用`re.match()`函数对用户输入的护照号码进行匹配。如果匹配成功,则输出“护照号码格式正确!”;否则,输出“护照号码格式错误,请重新输入!”。
相关问题
python 正则表达式校验文件名
以下是一个 Python 正则表达式校验文件名的示例:
```python
import re
filename = "example_file.txt" # 文件名
pattern = r'^[a-zA-Z0-9_\-]+\.[a-zA-Z0-9]+$' # 正则表达式模式
if re.match(pattern, filename):
print("文件名合法")
else:
print("文件名不合法")
```
解释:
- `^[a-zA-Z0-9_\-]+`:以字母、数字、下划线或破折号开头,且至少出现一次。
- `\.`:匹配一个点(即文件名与扩展名的分隔符)。
- `[a-zA-Z0-9]+$`:以字母或数字结尾,且至少出现一次。
如果文件名匹配正则表达式模式,则输出 "文件名合法",否则输出 "文件名不合法"。
python正则表达式校验身份证
以下是使用Python正则表达式校验身份证的方法:
```python
import re
def check_id_card(id_card):
# 身份证正则表达式
pattern = re.compile(r'^[1-9]\d{5}(19\d{2}|20[01]\d)(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[\dX]$')
# 匹配身份证号码
match = pattern.match(id_card)
if match:
# 校验码校验
id_card = list(id_card)
id_card_sum = 0
for i in range(17):
id_card[i] = int(id_card[i])
id_card_sum += id_card[i] * (2 ** (17 - i))
id_card_check = (12 - id_card_sum % 11) % 11
if id_card_check == 10:
id_card_check = 'X'
if str(id_card_check) == id_card[-1]:
return True
else:
return False
else:
return False
```
使用方法:
```python
id_card = '110101199003074518'
if check_id_card(id_card):
print('身份证号码校验通过')
else:
print('身份证号码校验不通过')
```
输出结果:
```
身份证号码校验通过
```