注册用户名时,用户名要求字母,数字和汉字的任意组合,不能包含其他字符,可以用正则表达式匹配用户输入的字符串
import re res = re.findall('^(?=.*\d)(?=.*[a-zA-Z])(?=.*[\u4E00-\u9FA5])[\u4E00-\u9FA5A-Za-z0-9]*$','小高jimmy9999') print(res)
解释:
(?=.*\d)是修饰表达式,修饰后面的自己输的字符串的表达式[\u4E00-\u9FA5AA-Za-z0-9]一定有数字
(?=.*[a-zA-Z])是修饰表达式,修饰后面的自己输的字符串的表达式[\u4E00-\u9FA5AA-Za-z0-9]一定有字母
(?=.*[\u4E00-\u9FA5])是修饰表达式,修饰后面的自己输的字符串的表达式[\u4E00-\u9FA5AA-Za-z0-9]一定有汉字
^是以自己输的字符串的表达式[\u4E00-\u9FA5AA-Za-z0-9]开始
*表示任意多个自己输的字符串表达式
$表示以自己输的字符串结尾