python正则表达式校验港澳台居民来往大陆通行证
时间: 2023-11-20 14:59:01 浏览: 122
以下是Python正则表达式校验港澳台居民来往大陆通行证的代码:
```python
import re
def validate_passport(passport):
pattern = r'^[HMhm]{1}([0-9]{10}|[0-9]{8})$'
if re.match(pattern, passport):
return True
else:
return False
# 测试
passport1 = 'H12345678'
passport2 = 'M1234567890'
passport3 = 'm1234567890'
passport4 = 'H12345678901'
passport5 = 'M1234567'
print(validate_passport(passport1)) # 输出:True
print(validate_passport(passport2)) # 输出:True
print(validate_passport(passport3)) # 输出:False
print(validate_passport(passport4)) # 输出:False
print(validate_passport(passport5)) # 输出:False
```
该正则表达式的含义是:以H或M或h或m开头,后面跟着8位或10位数字。其中,H或M表示护照类型,8位数字表示旧版通行证,10位数字表示新版通行证。
相关问题
python正则表达式校验港澳台居民居住证
以下是使用Python正则表达式校验港澳台居民居住证的代码:
```python
import re
def check_residence_permit(residence_permit):
pattern = re.compile(r'^[HMhm]{1}([0-9]{10}|[0-9]{8})$')
if pattern.match(residence_permit):
return True
else:
return False
# 测试
print(check_residence_permit('H1234567890')) # True
print(check_residence_permit('M12345678')) # True
print(check_residence_permit('H12345678901')) # False
print(check_residence_permit('M1234567')) # False
```
该正则表达式的含义是:以字母H或M开头,后面跟着10位或8位数字。其中,字母H表示香港居民居住证,字母M表示澳门居民居住证。
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]+$`:以字母或数字结尾,且至少出现一次。
如果文件名匹配正则表达式模式,则输出 "文件名合法",否则输出 "文件名不合法"。