Python正则表达式初识(九)
继续分享Python正则表达式的基础知识,今天给大家分享的特殊字符是[\u4E00-\u9FA5],这个特殊字符最好能够记下来,如果记不得的话通过百度也是可以一下子查到的。
该特殊字符是固定的写法,其代表的意思是汉字。换句话说,只要字符中是汉字,就可以通过该字符进行匹配,该特殊字符也是用中括号括起来的。具体的代码演示如下。
1、原始字符串是“加油”,两个汉字,然后将匹配模式直接为[\u4E00-\u9FA5],如下图所
可以看到此时的输出结果仅仅出现了一个“加”字,因为该匹配模式默认是匹配一个字符。
2、如何想匹配多个字符,只需要在匹配模式后面加一个“+”号即可,表示匹配连续出现的汉字,如下图所示。
此时可以看到“加油”全都匹配出来了。
3、为了进一步加强对该特殊字符的理解,现在将“加油”两字中嵌入非汉字,如下图所示。
可以看到只匹配到了“加”,但是非汉字字符“a”及其以后的字符全部都匹配不到了,因为原始字符串并不是连续出现的汉字。
4、将非汉字字符放到字符串最后边,如下图所示。
此时可以看到“加油”这两个连续的汉字可以成功匹配,但是非汉字字符匹配不到。
5、如果将“加油”中间加个空格,改为“加 油”,其他的保持不变,如下图所示。
此时可以看到输出的结果仅仅是个“加”字,空格及其之后的字符都匹配不到,因为原始字符串并不是连续出现的汉字。
6、举个栗子,在实际应用中,往往会需要用到连续匹配汉字的地方。如现在有个需求,需要匹配字符串中的“XX”大学,如“清华大学”、“北京大学”、“中山大学”等,我们只知道字符“XX”是连续的中文,此时就可以用到本文介绍的汉字字符,如下图所示。
此时可以看到“清华大学”匹配成功。需要注意的是特殊字符“?”记得加上,代表非贪婪模式,如果不加这个字符的话,则匹配模式从字符的后面往前取,得到的结果仅仅为“华大学”,如下图所示。
7、同样的,如果要匹配“上海交通大学”,也是如此,如下图所示。
小伙伴们,关于汉字匹配字符,你们get到了么?

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
[代码结构设计]根据不同条件使用不同实现类的业务代码设计
场景 此时有一个场景,需要设计一个根据不同的状态和条件采用不同的业务处理方式。 这样大家可能不是太理解。举个例子,现在大街小巷上的商户都采用了聚合支付的支付方式,聚合支付也就是商户柜台前放了一个支持支付宝、微信、京东钱包、银联等等的二维码,用户可以通过任意一款支付APP进行支付。 解决思路 思路① 对每个支付渠道进行定义枚举类型 public enum PayWay { ALI_PAY, WECHAT_PAY; } 然后在每个对应的service上定义注解,表示对应哪种支付方式 @Pay(PayWay.ALI_PAY) public class AliPayServiceImpl implements PayService {} 但是仔细思考后,还是存在一些问题 如果增加一个支付方式后还需要修改,PayWay这个枚举类型 在程序中,仍需要根据不同的条件做if else判断PayWay,增加支付方式还是得修改原有的判断逻辑。伪代码如下 if("xxx" == "aliPay"){ } else if("xxx" == "wechatPay"){ } //如果增加支付方式还是得增加else...
- 下一篇
C语言与C++语言相互调用
C语言与C++语言相互调用 1 C++调用C中的函数 1.1 C++调用C中的函数(正确使用) 1、案例源文件组成 图1 2、math模块包含文件 1)源文件math.c 图2 2)头文件math.h 图3 3、主模块包含文件 1)源文件main.cpp 图4 2)头文件module.h 图5 4、编译math模块 图6 5、编译主模块 图7 6、链接 图8a 图8b 1.2 C++调用C中的函数(非正确使用) 1、案例源文件组成 ...
相关文章
文章评论
共有0条评论来说两句吧...