最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python利用正则表达式匹配用户名(可包含中文)
时间:2014-09-19 编辑:简简单单 来源:一聚教程网
以前的用户名直接用^[a-zA-Z][a-zA-Z0-9_]{3,19}限定就是了。只是限定以字符开始,最少4个字符,最多20个字符就行了。
这次需求有点不一样,可以输入中文,正则就需要改一下了。
^[\x80-\xffa-zA-Z][\x80-\xffa-zA-Z0-9]{3,19}
看如下Python代码
代码如下 | 复制代码 |
source = "我们一起学Python吧" match = re.match(r'^[\x80-\xffa-zA-Z][\x80-\xffa-zA-Z0-9]{3,19}', source) if match: print match.group() else: print 'no match' |
匹配结果是:
我们一起学Pytho
(罗嗦下)确保所有编码都为 unicode
比如 str.decode('utf8') #从utf8文本中
u"啊l" #在控制台输出中
本想使用参考一定编码 Hex 但郁闷的是 这每个字好像占2个位置,使用正则匹配无果。
其次,确定中文范围 : [u4e00-u9fa5]
(这里注意下 python 的re写的时候) 要 u"[u4e00-u9fa5]" #确定正则表达式也是 unicode 的
特别提示:在这里一个中文字符当作3个字符处理,不过有6个中文字符也就够了
-
下一个: python求列表交集几个方法
相关文章
- PHP导出数据超时的优化建议解读 10-31
- PHP之mysql位运算解析 10-31
- Laravel实现登录跳转功能解析 10-31
- php双向队列解读 10-31
- Laravel异常上下文解决教程 10-24
- php数组查询元素位置方法介绍 10-24