自己百度GOOGLE了半天发现匹配汉子的正则主要就是(在UTF-8编码下)以下几种(始终没有完美的……):
第一种:[\x{4e00}-\x{9fa5}],该正则能匹配汉子,但是无法匹配全角符号
第二种:[\x{FF00}-\x{FFFF}\x{4e00}-\x{9fa5}],该正则能匹配汉子和全角符号,但是全角符号只有部分啊,比如《》{}【】这些符号就无法匹配。
第三种:[^u4E00-u9FA0],这种写法是我朋友无意中弄出来的,PHP竟然没有报错(也不知道为什么……),这些法可以匹配汉子,所有的全角符号,但他也包括了所有的半角符号,还包括小写的vwxyz这几个字母
各位大侠,走过路过,帮我瞅瞅啊
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
那就去查码表,一组一组的匹配么。
结合第一种和第二种,显然第二种是第一种的超集,而你需要的第二种的超集。
至于这个码表,word里就有。
最后我用的方法和你差不多,一个个找出来的啊,把键盘上常用的全角符号都给敲了一遍最后整理为[\x{FF00}-\x{FFFF}\x{4e00}-\x{9fa5}\x{300a}\x{300b}\x{3010}\x{3011}\x{3001}\x{3002}\x{3003}\x{2018}\x{2019}\x{201c}\x{201d}],不过这还包括日语韩语的全角,不过咱中国人用应该够了能说清楚你要匹配的目标是什么吗?匹配汉子加全角符号把非ASCII的都认为是需要的~一般应该可以的吧~[\u0391-\uFFE5]这个是全的你去看下unicode代码表就知道肯定不是全的!!你可以去试试