. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』 » 专题:命令正则

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
wgf4242
 
wgf4242 的头像
热心会员
 
资 料:
注册日期: Aug 2001
帖子: 6,531 声望值: 6
精华: 0,解答: 32
#1 旧 2018-06-06, 01:27:56 默认 【已解决】正则表达式匹配中文的问题。
wgf4242 当前离线  

regexp: [\u4E00-\u9FA5]
在Emeditor/Sublime中测试,匹配到了数字和字母,而且我测试时[\u9FA5]这样都能匹配到所有的汉字、字母、数字

代码:
J00我是中文字
我想要只匹配中文。

【已解决】使用
[\x{4e00}-\x{9fa5}]

此帖于 2018-06-06 10:26:59 被 wgf4242 编辑. .
回复时引用此帖
shengweiice
 
shengweiice 的头像
超级会员
 
资 料:
注册日期: Jul 2013
帖子: 1,062 声望值: 4
精华: 0,解答: 1
#2 旧 2018-06-06, 07:04:46 默认
shengweiice 当前离线  

是不是本身的编码问题, [\u4E00-\u9FA5]只适用于一种编码,而你的不是呢

[\u9FA5]能匹配所有的猜测是,这个的意思是匹配任何含有\u9 或者F,或者A,或者5的字符

以上两个均为瞎猜


呵呵
回复时引用此帖
blacklong
 
blacklong 的头像
热心会员
 
资 料:
注册日期: Apr 2002
帖子: 3,743 声望值: 5
精华: 0,解答: 1
#3 旧 2018-06-06, 09:17:55 默认
blacklong 当前离线  

啥编程语言?或者啥工具?
\uxxxx这种是unicode编码,不是所有语言或工具都支持的。

简单的办法是不用正则,挨个取字符,看utf-8时的字节数,如果是三字节,就是文字(不一定是中文)。


我。
回复时引用此帖
MacOS
 
MacOS 的头像
热心会员
 
资 料:
注册日期: Aug 2002
帖子: 13,247 声望值: 5
精华: 0,解答: 128
#4 旧 2018-06-06, 09:22:49 默认
MacOS 当前离线  

这个问题很早就出现过,后来查了下2013年有过讨论,
https://bbs.et8.net/bbs/showthread.php?t=1043892
从43楼开始就是这方面的问题了,当时是试出PERL引擎都有这样的情况
以现在的SUBLIME试验了一下,基本结论还是对的,\u实际是被解释为非小写非符号字符,然后后面的字符实际被当成列举了,也就是你写[\u9FA5],实际是包括所有非小写非符号字符,一个9,一个F,一个A,一个5,自然有数字59,还有各种大写字母


HIDDEN MESSAGE LEVEL 3
14863 159357 789 159357 3245687 3684
回复时引用此帖
发表新主题 回复

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 04:51:49.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号