优草派  >   Python

字符匹配的方法有哪些?如何使用python正则表达式进行字符匹配?

翟嘉慧            来源:优草派

对字符匹配的学习有些小伙伴还不是特别的了解,所以今天给大家介绍这篇有关“字符匹配的方法有哪些?如何使用python正则表达式进行字符匹配?”的文章,带大家一起学习一些有关字符匹配的内容,文章内容简单清晰,希望能给你的学习带来帮助。

字符匹配的方法有哪些?如何使用python正则表达式进行字符匹配?

在写python项目的时候,我们经常会需要用到对字符进行匹配,有时候是在一个数字或者是英文字母又或者是标点符号进行匹配,下面用实例向大家讲解,如下:

比如我们有现在有以下字符,并对它进行匹配:

let str = '你好呀,你好呀,我很好';

这个是用正则匹配一个汉字的方法,你可以参考一下:

let reg = /[\u4e00-\u9fa5]+/g;
console.log(str.match(reg));

结果如下

['你好呀', '你好呀', '我很好']

通过运行结果可以看出来,我们只是将汉字匹配到了,而没有匹配到标点符号,所以如果想让一个完整的字符串分割,可以使用以下方法:

\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e

在正则表达式中,可以匹配字符串的中文标点符号,可以有以下几种:

// `。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 【 】 ~`

如果这里的符合中没有你想使用的,你可以去网上查找一些把中文符号转换编码的形式添加在表达式里面就可以实现了。

以上的全部查找内容可以编写成以下的方式:

将刚才编写的正则表达式进行下简单的修改

let reg = /[(\u4e00\u9fa5)(\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e)]+/g
console.log(str.match(reg));

运行结果:

['你好呀,你好呀,我很好'];

通过这个结果就可以显示它的全部形式了,把标点符号也进行了匹配,在使用Unicode 编码的时候,它会对一整个字符继续分类然后再对字符进行简单的定义。

P 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。 

在这个 字符集中一共有七个字符属性,大写字母P是其中一个,剩下六个如下:

L:表示一个字母; 

M:标记符号(一般不会单独出现); 

Z:分隔符(比如空格、换行等); 

S:符号(比如数学符号、货币符号等); 

N:数字(比如阿拉伯数字、罗马数字等); 

C:其他字符 

到此这篇关于字符匹配的方法有哪些?如何使用python正则表达式进行字符匹配?的文章就介绍到这了,更多相关正则匹配汉字及中文标点符号内容可以继续关注学习,希望以上内容可以帮助你。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。