今天遇到一个问题,想用正则表达式匹配一段文本:
比如:几个、几样、几招、几种
1个,2种,3样……20个等
以及一个,二种,三样……二十样等
起初是这样写的,一直不对。。
几[种样款个类招]+?
[0-9]+[种样款个类招]+?
[一二三四五六七八九十]+[种样款个类招]+?
出现的问题是,可以匹配到几个、几样、几招、几种。。不过也有时候是几乎或单字几,但不是所有以几开头的都能匹配。
其他也是这种情况。
后来仔细查了下python正则表达式用法,参考了http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
这个网址里面关于分组的介绍,终于搞定。正则表达式如下:
几(种|样|款|类|招)
[0-9]+(种|样|款|类|招)
(一|二|三|四|五|六|七|八|九|十)+(种|样|款|类|招)