您的位置:首页 > 编程语言 > Python开发

python正则表达式匹配中文

2013-10-16 21:05 609 查看
今天遇到一个问题,想用正则表达式匹配一段文本:

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

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

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

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

[plain]
view plaincopyprint?

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

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


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

其他也是这种情况。

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

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

[plain]
view plaincopyprint?

几(种|样|款|类|招)  
[0-9]+(种|样|款|类|招)  
(一|二|三|四|五|六|七|八|九|十)+(种|样|款|类|招)  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则表达式