Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式任何字符,只要字符相同_Regex - Fatal编程技术网

Regex 正则表达式任何字符,只要字符相同

Regex 正则表达式任何字符,只要字符相同,regex,Regex,我有一个代表牌组中牌的字符串,即7c9hQsKsAs 是否可以使用正则表达式指定。*x.*x.*x.*x.*x,其中x可以指定任何字符(c/h/d/s),只要该字符始终是相同的字符?这将用于确定是否有冲洗 这将用于确定给定的牌是否为特定的扑克牌。我已经考虑过按值和西服排序,但是我仍然需要指定所有西服字符都是相同的(即值和西服排序的TcJcQcKcAd将是皇家齐平)。这取决于您使用的正则表达式的风格,但如果它支持反向引用,则是: .*(\w).*\1.*\1.*\1.*\1.* 匹配 123c2

我有一个代表牌组中牌的字符串,即7c9hQsKsAs

是否可以使用正则表达式指定。*x.*x.*x.*x.*x,其中x可以指定任何字符(c/h/d/s),只要该字符始终是相同的字符?这将用于确定是否有冲洗


这将用于确定给定的牌是否为特定的扑克牌。我已经考虑过按值和西服排序,但是我仍然需要指定所有西服字符都是相同的(即值和西服排序的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需要的只是了解它们。将过于宽泛,尽管仍然适用。还有,我不同意。我确实看到有人试图描述期望的行为。不知道解决问题的相关工具是数十万个问题的动力,而不是我结束问题的好理由。我问过这件事。