Regex 正则表达式任何字符,只要字符相同
我有一个代表牌组中牌的字符串,即7c9hQsKsAs 是否可以使用正则表达式指定。*x.*x.*x.*x.*x,其中x可以指定任何字符(c/h/d/s),只要该字符始终是相同的字符?这将用于确定是否有冲洗Regex 正则表达式任何字符,只要字符相同,regex,Regex,我有一个代表牌组中牌的字符串,即7c9hQsKsAs 是否可以使用正则表达式指定。*x.*x.*x.*x.*x,其中x可以指定任何字符(c/h/d/s),只要该字符始终是相同的字符?这将用于确定是否有冲洗 这将用于确定给定的牌是否为特定的扑克牌。我已经考虑过按值和西服排序,但是我仍然需要指定所有西服字符都是相同的(即值和西服排序的TcJcQcKcAd将是皇家齐平)。这取决于您使用的正则表达式的风格,但如果它支持反向引用,则是: .*(\w).*\1.*\1.*\1.*\1.* 匹配 123c2
这将用于确定给定的牌是否为特定的扑克牌。我已经考虑过按值和西服排序,但是我仍然需要指定所有西服字符都是相同的(即值和西服排序的TcJcQcKcAd将是皇家齐平)。这取决于您使用的正则表达式的风格,但如果它支持反向引用,则是:
.*(\w).*\1.*\1.*\1.*\1.*
匹配
123c234c345c456c567c678
以“c”作为第一个参考。\1
表示匹配第一个捕获的组
演示:
即使每个字符(1、2、3、4、5、6、7、8和c)给定整个表达式,捕获的组也只匹配“c”,因为它是唯一重复5次的组
您可能需要更具体的内容,如:
.+([chds]).+\1.+\1.+\1.+\1
这使用+
(1个或更多)而不是*
(0个或更多),因为在每个字符之前都需要一个等级(值)字符<代码>*(0或更多)将使其成为可选
演示:
帮助:我想你不会想要
*
,而只是
。例如,.c.c.c.c
将是同花顺(俱乐部)。你可以用([chsd])。\1.\1.\1.\1
匹配任何套装的齐平。但是皇家同花顺很简单(我将把它作为一个练习来更新我的示例以实现这一点)。@Wiktor这实际上不是一个复制品。按照这种逻辑,任何关于反向引用的问题都是该问题的重复。这似乎太宽泛了,不可能是一个复制品。@Nicole这是一个复制品,因为OP没有试图解决这个问题。看起来OP只是不知道如何捕获组/反向引用,OP需要的只是了解它们。将过于宽泛,尽管仍然适用。还有,我不同意。我确实看到有人试图描述期望的行为。不知道解决问题的相关工具是数十万个问题的动力,而不是我结束问题的好理由。我问过这件事。