Regex 正则表达式检查字符串是否包含所有相同的数字
我不熟悉正则表达式,对于我正在进行的一个项目,我需要验证一个字段,以查看输入的10位数字是否包含所有相同的数字 我找到了以下解决方案: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
([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}
,您的代码可能显示两个,因为它是在字符串中转义的。