匹配麻将和牌的正则表达式

正则表达式一般用来描述字符串,所以我们把麻将和牌的组合先变成字符串。麻将中包含以下牌面:

  • 条:幺鸡、二条、三条、四条、五条、六条、七条、八条、九条
  • 筒:一筒、二筒、三筒、四筒、五筒、六筒、七筒、八筒、九筒
  • 万:幺万、二万、三万、四万、五万、六万、七万、八万、九万
  • 其他:红中

牌的摆放顺序和搭配也很重要,能影响人的判断,决定能否及时上听、避免漏和;同样,也能够简化正则匹配问题。所以在这里假设已经按搭配成「刻、顺子、对子、杠」,顺子中以上面列表顺序从小到大依次排好。

Continue reading