python正则表达式匹配中文

时间:2022-03-02 06:10:26

今天遇到一个问题,想用正则表达式匹配一段文本:

比如:几个、几样、几招、几种

1个,2种,3样……20个等

以及一个,二种,三样……二十样等

起初是这样写的,一直不对。。

几[种样款个类招]+?
[0-9]+[种样款个类招]+?
[一二三四五六七八九十]+[种样款个类招]+?

出现的问题是,可以匹配到几个、几样、几招、几种。。不过也有时候是几乎或单字几,但不是所有以几开头的都能匹配。

其他也是这种情况。

后来仔细查了下python正则表达式用法,参考了http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

这个网址里面关于分组的介绍,终于搞定。正则表达式如下:

几(种|样|款|类|招)
[0-9]+(种|样|款|类|招)
(一|二|三|四|五|六|七|八|九|十)+(种|样|款|类|招)