社区
脚本语言
帖子详情
Python中用正则表达式匹配中文
clydecheung
2007-04-04 03:36:08
我想在Python中用正则表达式匹配中文,用的是[\u4e00-\u9fa5]这段代码~~但是匹配结果有问题,这个表达式不仅能匹配中文,也能匹配英文字符~~
在别的语言中试验是好使的,但在Python中不好使~~不知道问什么~~是编码的问题么?
...全文
3734
8
打赏
收藏
Python中用正则表达式匹配中文
我想在Python中用正则表达式匹配中文,用的是[\u4e00-\u9fa5]这段代码~~但是匹配结果有问题,这个表达式不仅能匹配中文,也能匹配英文字符~~ 在别的语言中试验是好使的,但在Python中不好使~~不知道问什么~~是编码的问题么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iambic
2007-04-07
打赏
举报
回复
原来的字符串不是unicode。
N / A
2007-04-06
打赏
举报
回复
ur'[\u2e80-\uffff]'
clydecheung
2007-04-04
打赏
举报
回复
谢谢zarz,在上面的链接中找到个方法~~
//判断内容里有没有中文-GBK (PHP)
function check_is_chinese($s){
return preg_match('/[\x80-\xff]./', $s);
}
虽然不明所以,但是用上面的正则表达式的确好使~~
zarz
2007-04-04
打赏
举报
回复
编码问题比较复杂, 要考量数据源本身的编码格式, 不同的操作系统和设置导致的结构会有不同.
如果数据确定是gbk或gb2312的话, 你可以参考:
http://blog.csdn.net/heiyeshuwu/archive/2007/01/20/1488900.aspx
xyzxyz1111
2007-04-04
打赏
举报
回复
乔丹的gb2312 编码貌似是'\xc7\xc7\xb5\a4'
不在此范围之内
clydecheung
2007-04-04
打赏
举报
回复
很奇怪,汉字的Unicode编码不是从4e00到9fa5的么?
clydecheung
2007-04-04
打赏
举报
回复
# -*- coding: gb2312 -*-
import re
text = "Jordan (乔丹) Jordan (Jordan)"
p = re.compile(r"Jordan\s*\([^\)]*[\u4e00-\u9fa5][^\)]*\)", re.IGNORECASE)
iterator = p.finditer(text)
for match in iterator:
print match.group()
我想要的结果是"Jordan (乔丹)",但程序给出的结果是"Jordan (Jordan)"
yangxiao_jiang
2007-04-04
打赏
举报
回复
贴出代码看看
python
面试题汇总第06期-正则表达式(内附7题及答案)
1.
python
正则表达式中匹配(match)和查找(search)的区别 答:正则表达式中match和search的方法比较相似 相同点:都是在一个字符串s中寻找pat子字符串,如果能找到,就返回一个Match对象,如果找不到,就返回None。 不同点:mtach方法是从头开始匹配,而search方法,可以在s字符串的任一位置查找。 编写的代码如下: 从结果中,我们可以看出,
python
中用
match和search方法都可以反馈ours中的our字符串,而对于flourish,只有search能返回Match对象,而因为不是在头部匹配到,所以match方法返回了None。 2.再pytho
Python
3使用正则表达式爬取内涵段子示例
本文实例讲述了
Python
3使用正则表达式爬取内涵段子的方法。分享给大家供大家参考,具体如下: 似乎正则在爬虫
中用
的不是很广泛,但是也是基本功需要我们去掌握。 先将内涵段子网页爬取下来,之后利用正则进行匹配,匹配完成后将匹配的段子写入文本文档内。代码如下: # -*- coding:utf-8 -*- from urllib import request as urllib2 import re # 利用正则表达式爬取内涵段子 url = r'http://www.neihanpa.com/article/list_5_{}.html' headers = { 'User-Agent':
python
正则表达式中的括号匹配问题
问题: m = re.findall(‘[0-9]*4[0-9]*’, ‘[4]’) 可以匹配到4. m = re.findall(‘([0-9])*4([0-9])*’, ‘[4]’) 匹配不到4. 这是为什么呢?PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配。 补充一点,我放在notepad++
中用
的时候,两种写法都能匹配出来,不知道为什么
python
中就不行了。 答案:
python
的正则
中用
()会进行匹配,所以返回结果是[”,”],就是两个()中的匹配。要想达到原来的匹配效果,就是把4匹配出来,有两种解决方法: 1.最外层加个大括号,变成
55分钟学会正则表达式
什么是正则 正则表达式是一种用来描述一定数量文本的模式,用来匹配相同规范样式的文本。在JavaScript
中用
RegExp对象表示正则表达式( 即Regular Eexpression),它是对字符串执行模式匹配的强大工具。 正则表达式是一种查找以及字符串替换操作。正则表达式在文本编辑器中广泛使用,比如正则表达式被用于: 检查文本中是否含有指定的特征词 找出文中匹配特征词的位置 从文本中提取信息,比如:字符串的子串 修改文本 与文本编辑器相似,几乎所有的高级编程语言都支持正则表达式。在这样的语境下,“文本”也就是一个字符串,可以执行的操作都是类似的。一些编程语言(比如Perl
大部分人都不知道的
Python
3.8 新功能
Python
3.8 是
Python
语言的最新版本,它适合用于编写脚本、自动化以及机器学习和Web开发等各种任务。 现在
Python
3.8已经进入官方的beta阶段,这个版本带来了许多语法改变、内存共享、更有效的序列化和反序列化、改进的字典和更多新功能。
Python
3.8还引入了许多性能改进。总的来说,我们即将拥有一个更快、更精确、更一致和更现代的
Python
。 下面是
Python
3.8的新功能和最重要的改变,我总结了一些开发
中用
得到的,常用的特性。 1、海象运算符
Python
3.8最明显的变化就是赋值表达式,即”:=”操作符。赋值表达式可以讲一个值赋给一个变量,即使变量不存在也可
脚本语言
37,719
社区成员
34,239
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章