REGEX 检查数字是否在字符串中重复
REGEX to check if a number is repeated in a string
我需要一个正则表达式来检查一个数字是否在 9 个字符的字符串中重复,因为这些字符可能是不定数量的点
例子
"........." - false - no numbers repeated
"123456789" - false - no numbers repeated
"1.2.3.4.5" - false - no numbers repeated
"1...3...5" - false - no numbers repeated
"112345678" - true - number 1 is repeated
"1......1." - true - number 1 is repeated
"11244.56." - true - number 1 and 4 are repeated
"234.5.6.4" - true - number 4 is repeated
我在互联网上四处寻找这个接近我需要的东西
\b(?:([1-9])(?![1-9]*)){1,9}\b
但我不知道如何让它不考虑点
非常感谢:)
此正则表达式将允许重复数字之间的任何字符:
(\d).*
\d
匹配一个数字,()
将其放入捕获组 1,反向引用
匹配相同的数字。
您可以使用
^(?=.{9}$)(?=.*(\d).*)(?:\.*\d){1,9}\.*$
或者,如果您只需要允许从 1
到 9
的数字:
^(?=.{9}$)(?=.*([1-9]).*)(?:\.*[1-9]){1,9}\.*$
详情:
^
- 字符串开头
(?=.{9}$)
- 字符串应包含 9 个字符
(?=.*(\d).*)
- 必须有一个重复数字
(?:\.*\d){1,9}\.*
- 出现 1 到 9 次任何零个或多个点后跟一个数字,然后是任何零个或多个点
$
- 字符串结尾。
我需要一个正则表达式来检查一个数字是否在 9 个字符的字符串中重复,因为这些字符可能是不定数量的点
例子
"........." - false - no numbers repeated
"123456789" - false - no numbers repeated
"1.2.3.4.5" - false - no numbers repeated
"1...3...5" - false - no numbers repeated
"112345678" - true - number 1 is repeated
"1......1." - true - number 1 is repeated
"11244.56." - true - number 1 and 4 are repeated
"234.5.6.4" - true - number 4 is repeated
我在互联网上四处寻找这个接近我需要的东西
\b(?:([1-9])(?![1-9]*)){1,9}\b
但我不知道如何让它不考虑点 非常感谢:)
此正则表达式将允许重复数字之间的任何字符:
(\d).*
\d
匹配一个数字,()
将其放入捕获组 1,反向引用 匹配相同的数字。
您可以使用
^(?=.{9}$)(?=.*(\d).*)(?:\.*\d){1,9}\.*$
或者,如果您只需要允许从 1
到 9
的数字:
^(?=.{9}$)(?=.*([1-9]).*)(?:\.*[1-9]){1,9}\.*$
详情:
^
- 字符串开头(?=.{9}$)
- 字符串应包含 9 个字符(?=.*(\d).*)
- 必须有一个重复数字(?:\.*\d){1,9}\.*
- 出现 1 到 9 次任何零个或多个点后跟一个数字,然后是任何零个或多个点$
- 字符串结尾。