python中正则匹配,用户名只能由字母数字下划线组成,不能数字开头
时间: 2023-11-25 18:07:10 浏览: 278
可以使用正则表达式来匹配用户名,具体可以使用以下代码实现:
```
import re
username = input("请输入用户名:")
pattern = r'^[a-zA-Z_][a-zA-Z0-9_]*$'
match = re.match(pattern, username)
if match:
print("用户名合法")
else:
print("用户名不合法")
```
解释一下正则表达式 `'^[a-zA-Z_][a-zA-Z0-9_]*$'`:
- `^` 表示匹配字符串开头
- `[a-zA-Z_]` 表示匹配一个字母或者下划线
- `[a-zA-Z0-9_]*` 表示匹配零个或多个字母、数字或下划线
- `$` 表示匹配字符串结尾
因此,该正则表达式可以匹配字母、数字和下划线组成的用户名,但不能以数字开头。
阅读全文