使用正则表达式校验用户输入的标识符是否只包含1位以上中文,英文字母,数字或下划线,且不以数字开头,若符合要求输出yes否则输出no Python
时间: 2023-06-17 15:05:59 浏览: 91
Js中使用正则表达式验证输入是否有特殊字符
5星 · 资源好评率100%
可以使用以下正则表达式进行校验:
```python
import re
def validate_identifier(identifier):
pattern = r"^[a-zA-Z_\u4e00-\u9fa50-9]+[a-zA-Z_\u4e00-\u9fa50-9]*$"
if re.match(pattern, identifier):
return "yes"
else:
return "no"
```
其中,正则表达式`^[a-zA-Z_\u4e00-\u9fa50-9]+[a-zA-Z_\u4e00-\u9fa50-9]*$`表示:
- `^`表示开始位置
- `[a-zA-Z_\u4e00-\u9fa50-9]+`表示至少匹配一位中文,英文字母,数字或下划线
- `[a-zA-Z_\u4e00-\u9fa50-9]*`表示匹配0个或多个中文,英文字母,数字或下划线
- `$`表示结束位置
因此,该正则表达式满足以下要求:
- 至少包含一位中文,英文字母,数字或下划线
- 不以数字开头
使用示例:
```python
print(validate_identifier("abcd123")) # no
print(validate_identifier("1abcd_23")) # no
print(validate_identifier("a_b_c_d")) # yes
print(validate_identifier("中文标识符")) # yes
```
阅读全文