我有一个字符串,其格式始终如下:
"AB AB AB AB AB " // (note the trailing space)
A
可以是"12345678TJQKA"
中的任何字符,B
可以是"HSCD"
中的任何字符(基本上是52张扑克牌)。
如何使用正则表达式检查字符串是否为皇家同花顺?
我尝试了一些无果的方法(现在仅使用红方),(注意:我不知道如何正确地使用向前查看、向后查看和环视,所以我很可能做错某些事情每件事..)
^(?=AD )(?=KD )(?=QD )(?=JD )TD $
^(?=AD .*)(?=KD .*)(?=QD .*)(?=JD .*)TD .*$
^(?=AD )(?=KD )(?=QD )(?=JD )(?=TD )$
^(?=AD .*)(?=KD .*)(?=QD .*)(?=JD .*)(?=TD .*)$
^(?<=AD )(?<=KD )(?<=QD )(?<=JD )(?<=TD )$
我希望正则表达式可以匹配任意顺序的
"AD KD QD JD TD "
(包括反向顺序如"TD JD QD KD AD "
或者随机顺序如 "KD TD QD AD JD "
)。最好还能为所有四种花色中的 D
设置一个捕获组,使其在所有情况下都保持一致。
这是一个在线正则表达式测试工具,里面有一些测试用例,供大家参考。
如果你有一个不仅适用于钻石皇家同花顺,而且同时适用于所有花色的正则表达式(并解释其工作原理),那就更好了。(除了正则表达式外,任何其他检查皇家同花顺的方法都可以,但我仍然想知道如何使用正则表达式来实现,因为这是我的主要问题。)
"TC JD QD KD AD"
或"1D JD QD KD AD"
,但它们并不是皇家同花顺。 :) - Kevin Cruijssen