python正则中如何匹配汉字以及encode(‘utf-8’)和decode(‘utf-8’)的互转
正则表达式:
[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言
[\u4E00-\u9FFF]+$ 匹配简体和繁体
[\u4E00-\u9FA5]+$ 匹配简体
<input type="text" name="username" onkeyup="value=value.replace([\u4E00-\u9FA5]+$)">
正则表达式速查表:https://www.jb51.net/shouce/jquery1.82/regexp.html
1 # -*- coding:utf-8 -*-
2
3 import re
4
5 '''
6 python 3.5版本
7 正则匹配中文,固定形式:\u4E00-\u9FA5
8 '''
9
10 words = 'study in 山海大学'
11 regex_str = ".*?([\u4E00-\u9FA5]+大学)"
12 match_obj = re.match(regex_str, words)
13 if match_obj:
14 print(match_obj.group(1))
15
16
17 结果:山海大学
这里面表示的是一个正则表达式语句的啦,http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
Python添加对Unicode的支持,以Unicode表示的字符串用u’ABC’来表示。
字符串’xxx’虽然是ASCII编码,但也可以看成是UTF-8编码,而u’xxx’则只能是Unicode编码。
把u’xxx’转换为UTF-8编码的’xxx’用encode(‘utf-8’)方法。
>>> u'ABC'.encode('utf-8')
'ABC'
>>> u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87
反过来,把UTF-8编码表示的字符串’xxx’转换为Unicode字符串u’xxx’用decode(‘utf-8’)方法。
>>> 'abc'.decode('utf-8')
u'abc'
>>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
u'\u4e2d\u6587'
>>> print '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
中文
由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
关于Python正则表达式匹配中文:
这里边重点用到了 r'[\u4e00-\u9fa5]+' 的正则规则,表示1到多个任意汉字。
import re
str=u"【心理箴言】现实是污浊的河流,要想接受污浊的河流而自身不被污染,我们必须成为大海。 =-=4845/.?'"
# py2.7,所以字符串前加u,在正则表达式前也加u即可。
# pattern =re.compile(u'[\u4e00-\u9fa5]')
pattern =re.compile(r"[\u4e00-\u9fa5]+")
result=pattern.findall(str)
result1=re.findall(pattern,str)
for w in result:
print(w) str1='hjggj小vjjk明'
pat=re.compile(r'[\u4e00-\u9fa5]+')
result=pat.findall(str1)
print(result)
运行结果:

如果全是汉字 指定输出某些汉字呢:
见 Unicode 中文编码表: https://www.bejson.com/convert/unicode_chinese/

python正则中如何匹配汉字以及encode(‘utf-8’)和decode(‘utf-8’)的互转的更多相关文章
- python正则子组匹配
子组匹配返回找到的第一个匹配项 []表示匹配列表中的任意一个,返回找到的第一个 这样可以发现如果要查找字母的话可以使用[a-z],返回找到的第一个字母 查找数字使用[0-9],返回找到的第一个数字相当 ...
- python正则中的贪婪与非贪婪
当重复一个正则表达式时,如用 a*,操作结果是尽可能多地匹配模式.当你试着匹配一对对称的定界符,如 HTML 标志中的尖括号.匹配单个 HTML 标志的模式不能正常工作,因为 .* 的本质是“贪婪”的 ...
- python 正则之字母匹配
\A:匹配字符串的开始 \b:匹配一个单词边界 取出a边界单词的个数 >>> len(re.findall(r"\ba"," ab abc ad ...
- Perl:理解正则中“.”可匹配出回车符(“\n”)外任意字符的例子,配合 $^I 关键字
要把下面文件的内容改了, Program name: graniteAuthor: Gilbert BatesCompany: RockSoftDepartment: R&DPhone: +1 ...
- Python正则匹配字母大小写不敏感在读xml中的应用
需要解决的问题:要匹配字符串,字符串中字母的大小写不确定,如何匹配? 问题出现之前是使用字符串比较的方式,比如要匹配'abc',则用语句: if s == 'abc':#s为需要匹配的字符串 prin ...
- php正则匹配汉字提取其它信息剔除和验证邮箱
正则匹配汉字提取其它信息剔除demo <?php //提取字符串中的汉字其余信息剔除 $str='te,st 测 .试,.,.?!::·…~&@#,.?!:;.……-&@#“” ...
- python的str,unicode对象的encode和decode方法, Python中字符编码的总结和对比bytes和str
python_2.x_unicode_to_str.py a = u"中文字符"; a.encode("GBK"); #打印: '\xd6\xd0\xce\xc ...
- python如何通过正则表达式一次性提取到一串字符中所有的汉字
1.python如何通过正则表达式一次性提取到一串字符中所有的汉字 https://blog.csdn.net/py0312/article/details/93999895 说明:字符串前的 “ r ...
- 正则双重过滤 /// splitKey1 第一个正则式匹配 /// splitKey2 匹配结果中再次匹配进行替
/// <summary> /// 正则双重过滤 /// splitKey1 第一个正则式匹配 /// splitKey2 匹配结果中再次匹配进行替换 /// </summary&g ...
随机推荐
- 解决nexus3报Cannot open local storage 'component' with mode=rw的异常问题
起因:正常使用的公司Maven.Docker私有仓库,突然镜像不能推送,返回getsockopt: connection refused,用docker客户端登录也是返回同样的错误,查看nexus3日 ...
- MySQL 练习题2
CREATE TABLE `dept` ( `did` ) NOT NULL AUTO_INCREMENT, `dname` ) DEFAULT NULL, `address` ) DEFAULT N ...
- mongodb节点配置指南
修改复制集节点的优先级 复制集节点的 priority 参数的值决定了选举中该节点的优先级.值越高,优先级越高. 我们可以通过修改复制集配置参数中 members 数组位置的优先级来修改对应机器的优先 ...
- SQL读取注册表值
最近写一个自动检查SQL Serve安全配置的检查脚本,需要查询注册表,下面是使用SQL查询注册表值的方法. ) ) ) ) --For Named instance --SET @Instance ...
- Linux下的Mysql的远程访问
mysql的服务端[192.168.25.136] 1,在远程访问之前需先配置防火墙 service iptables stop (不推荐,可配置开通3306端口) 2,授权 mysql> gr ...
- 深入浅出SharePoint——使用WinDbg进行调试
- Angular组件之间通讯
组件之间会有下列3种关系: 1. 父子关系 2. 兄弟关系 3. 没有直接关系 通常采用下列方式处理(某些方式是框架特有)组件间的通讯,如下: 1父子组件之间的交互(@Input/@Output/模板 ...
- jq实现 元素显示后 点击页面的任何位置除元素本身外 隐藏元素
$(".share-weixin").on("click",function(e){ var $wx=$(".weixin-share"), ...
- python 中的pipe
from multiprocessing import Process,Queue,Pipe import os def f(q): # q.send([42,None,'hello']) print ...
- BZOJ1468:Tree(点分治)
Description 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K Input N(n<=40000) 接下来n-1行边描述管道,按照题目中写的输入 接下来是 ...