怎么使用正则表达式表示汉字,目的是要在notepad++筛选出所有汉字,编码格式为ANSI
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么使用正则表达式表示汉字,目的是要在notepad++筛选出所有汉字,编码格式为ANSI相关的知识,希望对你有一定的参考价值。
参考技术A 我刚在在notepad++中试过了,貌似它的正则表达式引擎是单字节的。用[\u4e00-\u9fa5]与[^\x00-\xff]都不能正常的匹配中文。实在是郁闷,在java、C#、JS里面编程都可以用“[\u4e00-\u9fa5]”来匹配中文的,于是想\u4e00不就是“一”,\u9fa5不就是“龥”吗?于是使用:[一-龥]
正常查找到所有的中文字。这时,中文标点符号没有匹配,加上[\uFF01-\uFF5E],即[!-~],完美解决。。。
于是得出,notepad++、UltraEdit中匹配中文的正则表达式为:
[一-龥!-~]
如果没有解决你的问题,请发百度消息给我。本回答被提问者采纳 参考技术B [^\x00-\x80]+ 参考技术C \u4e00-\u9fa5
python,用正则表达式匹配特定汉字
待测试字符串有:
“5元起,每小时1元”
“10起每小时5元”
“价格200起每分钟加5”,等等
其中起步价格式为:一个数字+(元)+起,即可能有“元”也可能没有“元”
需要把起步价全部筛出来。
谁知道正则怎么写?帮我改一下下面的代码吧,本人新手,谢谢谢谢!!
import re
#describtion="5元起,每小时1元"
#describtion="10起每小时5元"
describtion="价格200起每分钟加5"
pattern1 = re.compile(r'[0-9][0-9]0,10[元]?起')
match=pattern1.findall(describtion)
期望得到:
“5元起”
“10起”
“200起”
在[]中
-长用来指定一个字符集,在这个字符集中的一个可以拿来匹配:[abc] [a-z]
-元字符在在字符集中不起作用
-在[]内用^表示补集,用来匹配不在区间范围内的字符
s=r'aba' 匹配abc
s=r't[io]p' 匹配tip或者top
s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z
[abc]表示“a”或“b”或“c”
[0-9]表示0~9中任意一个数字,等价于[0123456789]
[\u4e00-\u9fa5]表示任意一个汉字
[^a1<]表示除“a”、“1”、“<”外的其它任意一个字符
[^a-z]表示除小写字母外的任意一个字符 参考技术A import re
str=re.findall("\d.?起",description)
这样应该就可以了吧,没试过中文的
以上是关于怎么使用正则表达式表示汉字,目的是要在notepad++筛选出所有汉字,编码格式为ANSI的主要内容,如果未能解决你的问题,请参考以下文章