今天遇到一個問題,想用正則表達式匹配一段文本:
比如:幾個、幾樣、幾招、幾種
1個,2種,3樣……20個等
以及一個,二種,三樣……二十樣等
起初是這樣寫的,一直不對。。
幾[種樣款個類招]+?
[0-9]+[種樣款個類招]+?
[一二三四五六七八九十]+[種樣款個類招]+?
出現的問題是,可以匹配到幾個、幾樣、幾招、幾種。。不過也有時候是幾乎或單字幾,但不是所有以幾開頭的都能匹配。
其他也是這種情況。
後來仔細查了下python正則表達式用法,參考了http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
這個網址裏面關於分組的介紹,終於搞定。正則表達式如下:
幾(種|樣|款|類|招)
[0-9]+(種|樣|款|類|招)
(一|二|三|四|五|六|七|八|九|十)+(種|樣|款|類|招)