首页
学习
活动
专区
圈层
工具
发布

JavaScript·正则匹配汉字

正则匹配汉字 在此之前,项目中使用正则匹配汉字的表达式都是 /[\u4e00-\u9fa5]/,虽然常用,但是一直未深究其所以然。...正则匹配汉字 介绍完字符集和字符编码之后,回到正题,我们已经知道「汉字」是汉文的基本单元,但这里的「汉字」具体指代哪些字符集呢?...如果把它们全部列举出来写成正则表达式,那么就是技术上完整的匹配汉字的正则表达式了。...在这 20 年间,Unicode 添加了许多汉字。这些新增的汉字并不在上面这个正则表达式匹配的区域中,所以我们的正则也需要与时俱进匹配最新的 Unicode 标准。...{ "presets": ["@babel/env"] } 参考文章: JavaScript 正则表达式匹配汉字

5.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发 - 汉字转拼音首字母

    概述 工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: 1.获得汉字 2.将汉字转换成首字母,并记录下(必要时保存到数据库) 3.按首字母进行排序并展示...演示 控制台输出演示: 汉字转首字母演示,请输入汉字: 4654*&&^_FDSF你i好3啊>?...void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("汉字转首字母演示...convertAndClearAll:" + py3); } } package pinyin; /** * 汉字转首字母缩写 * * @author 张云飞vir基于网上获得的资料的修改...(String str) { return convertTo(str).replace("*", ""); } /** * 汉字转拼音缩写,清理无效字符(清理任何非数字和字母

    3.6K00

    写几个正则表达式:只允许输入汉字、数字、字母、中英文小括号,并且10个字符以内|只允许输入汉字、数字、字母、英文小括号|电话号码正则表达式

    ---导文写几个正则表达式 有:1. 可以输入只允许输入汉字、数字、字母、中英文小括号,并且10个字符以内,除此之外其他的特殊符号不允许输入。2....可以输入只允许输入汉字、数字、字母、英文小括号,除此之外其他的特殊符号不允许输入,除此之外其他的特殊符号不允许输入。3. 电话号码正则表达式 4....只允许只能输入中文和大小写字母,并且10个字符以内内容案例1:写个正则表达式 ,可以输入只允许输入汉字、数字、字母、中英文小括号,并且10个字符以内。.../^[\w\u4E00-\u9FA5()()&]{0,10}$/案例2:写个正则表达式 ,可以输入只允许输入汉字、数字、字母、英文小括号,除此之外其他的特殊符号不允许输入,除此之外其他的特殊符号不允许输入...[0-35-9])\d{8}$/案例4:正则表达式 :只允许只能输入中文和大小写字母,并且10个字符以内/^[\u4E00-\u9FA5a-zA-Z&]{0,10}$/

    2.5K21

    java获取所输入汉字拼音的首字母

    LogFactory.getLog(StringUtil.class);   // 国标码和区位码转换常量    static final int GB_SP_DIFF = 160;   //存放国标一级汉字不同读音的起始区位码...3106, 3212, 3472, 3635, 3722, 3730, 3858, 4027, 4086,   4390, 4558, 4684, 4925, 5249, 5600};   //存放国标一级汉字不同读音的起始区位码对应读音...ch};   byte[] uniCode = new String(temp).getBytes();   if (uniCode[0] 0) { // 非汉字...temp);   } else {   buffer.append(convert(uniCode));   }   }   return buffer.toString();   }   /** 获取一个汉字的拼音首字母...* GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码 * 例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43 * 0x24转成10进制就是36

    3.6K40

    java正则校验,密码必须由字母和数字组成

    一个匹配数字和字母密码的正则表达式 2011 年 12 月 14 日 | Filed under: 正则表达式 and tagged with: 密码 , 正则表达式 , 零宽断言 一个用户注册功能的密码有如下要求...:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。...于是乎,拆分需求如下: 1,不能全部是数字 2,不能全部是字母 3,必须是数字或字母 只要能同时满足上面3个要求就可以了,写出来如下: ^(?![0-9]+$)(?!...[a-zA-Z]+$) 预测该位置后面不全是字母 [0-9A-Za-z] {8,16} 由8-16位数字或这字母组成 $ 匹配行结尾位置 注:(?!...xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。

    8.4K60

    Java,bit比特,byte字节,char字符,short,int,long,float,double,string,字母,汉字编码等

    参考网址的话,直接上Oracle的官方文档就好: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html 汉字...:1 汉字 = 2 byte = 16 bit 《《这里不是很准确,当编码不同的时候,1个汉字所占的字节数也会有所不同,有些编码是占 2个字节,有些则不是,可能是 3个或者 4个》》 首先认识下Java...必须强制转换否则报错 System.out.println(e1); //中 System.out.println(e2); //国 System.out.println(f); //输出是45,这时已经不是能完全代表汉字中了...,是把 中 这个字低位字节赋值给f了 System.out.println((char)f); //输出是 -,可以看到把汉字 中 转到 f byte,在从 f转回 char型,已经丢失了高位字节 3、

    2.2K20

    为什么汉字需要 2 个字节存储而英文字母只需 1 个字节存储

    英文字母数量有限,整个英语字符集包括大小写字母、数字以及基本符号,总数远远小于 256 个,因此 1 个字节恰到好处。汉字则面临着截然不同的情形。...如果将 1 个字节作为基本编码单元,那么无论是字母、数字或者符号,都必须从这 256 个组合中选取。...这个历史遗留问题也解释了为什么有时我们会看到汉字在内存中占用更多的存储空间,而英文字母仅仅需要 1 个字节。在考虑存储效率的时候,不能忽视的一个因素是语言本身的复杂性。...英语作为拼音文字,其构成基于有限的字母组合;而汉语则采用象形文字,每个汉字背后都蕴含着独立的意义和文化内涵。这样的设计要求必须为每个汉字分配一个独立的存储单元,从而避免因不同汉字共享存储而导致的混淆。...尽管如此,汉字与英文字母在存储上依然呈现出截然不同的字节数分布,这不仅反映了语言本身的复杂度,也揭示了计算机科学家和工程师们在实际工作中不断平衡效率与多样性的智慧。

    1.4K00
    领券