Regex 正则表达式检查字符串是否包含所有相同的数字

Regex 正则表达式检查字符串是否包含所有相同的数字,regex,expression,Regex,Expression,我不熟悉正则表达式,对于我正在进行的一个项目,我需要验证一个字段,以查看输入的10位数字是否包含所有相同的数字 我找到了以下解决方案: ([1-9])\\1{9} 资料来源: 我试着用谷歌搜索它,但是没有任何东西可以解释这个表达式的作用。我想知道是否有人能解释这个表达式是如何工作的。它是这样工作的: ([1-9]) // Capture any number 1-9 and store it as the first "capture" \1 // Substitute th

我不熟悉正则表达式,对于我正在进行的一个项目,我需要验证一个字段,以查看输入的10位数字是否包含所有相同的数字

我找到了以下解决方案:

([1-9])\\1{9}
资料来源:

我试着用谷歌搜索它,但是没有任何东西可以解释这个表达式的作用。我想知道是否有人能解释这个表达式是如何工作的。

它是这样工作的:

([1-9])   // Capture any number 1-9 and store it as the first "capture"
\1        // Substitute the first "capture" as raw text into the regex
{9}       // Match that raw text another 9 times (i.e. 10 in total)
请确保
0000000000
不应与您的表达式匹配,因为它与
[1-9]

不匹配。它的工作原理如下:

([1-9])   // Capture any number 1-9 and store it as the first "capture"
\1        // Substitute the first "capture" as raw text into the regex
{9}       // Match that raw text another 9 times (i.e. 10 in total)

请确保
0000000000
不应与您的表达式匹配,因为它与
[1-9]
不匹配,这都是关于
捕获的组的

([1-9])
是一个
捕获组
,它捕获1-9之间的单个数字

\1{9}
是重复9次的
第一个捕获组,即([1-9])

示例

您可以使用一个正则表达式来匹配始终位于匹配标记名之间的内容

所以,使用这个正则表达式

<(.*?)>(.*?)<\1>

这一切都是关于
捕获的组

([1-9])
是一个
捕获组
,它捕获1-9之间的单个数字

\1{9}
是重复9次的
第一个捕获组,即([1-9])

示例

您可以使用一个正则表达式来匹配始终位于匹配标记名之间的内容

所以,使用这个正则表达式

<(.*?)>(.*?)<\1>

从技术上讲,正则表达式应该只有一个反斜杠
([1-9])\1{9}
,您的代码可能显示两个,因为它是在字符串中转义的。从技术上讲,正则表达式应该只有一个反斜杠
([1-9])\1{9}
,您的代码可能显示两个,因为它是在字符串中转义的。