请问如何构造一个正则表达式,用于匹配5到10位不重复的数字?
- 内容介绍
- 文章标签
- 相关推荐
本文共计296个文字,预计阅读时间需要2分钟。
对于有5到10位重复的数字,可以使用正则表达式 `5d{5,10}`。以下是对这一正则表达式的简单解释:
- `5`:表示数字5的字符。- `d`:代表数字,等同于`\d`。- `{5,10}`:表示前面的字符(这里是数字)重复5到10次。
例如,要匹配像55555或1234567890这样的5到10位重复数字,可以使用这个正则表达式。请注意,这个正则表达式不会匹配包含非数字字符的字符串。
对于有重复的5到10位数字可以使用\d{5,10} 这样的正则无重复的5到10位数字我考虑了一下还不会,最然只好查网上。
有一个版本还不错,反正RegexBuddy测试通过了。
复制代码 代码如下:^(?!\d*?(\d)\d*?\1)\d{5,10}$
对于(?!………(……)………\1)这样的形式我还没有研究透,有时间我真要细细研究。
上一个php的例子:
复制代码 代码如下:
<?php
$str = '123456789';
$search = '/^(?!\d*?(\d)\d*?\1)\d{5,10}$/';
$result = preg_match($search,$str);
echo '匹配无重复的5到10位数字<br />';
if($result>0) {
echo '符合';
}else {
echo '不符合';
}
?>
本文共计296个文字,预计阅读时间需要2分钟。
对于有5到10位重复的数字,可以使用正则表达式 `5d{5,10}`。以下是对这一正则表达式的简单解释:
- `5`:表示数字5的字符。- `d`:代表数字,等同于`\d`。- `{5,10}`:表示前面的字符(这里是数字)重复5到10次。
例如,要匹配像55555或1234567890这样的5到10位重复数字,可以使用这个正则表达式。请注意,这个正则表达式不会匹配包含非数字字符的字符串。
对于有重复的5到10位数字可以使用\d{5,10} 这样的正则无重复的5到10位数字我考虑了一下还不会,最然只好查网上。
有一个版本还不错,反正RegexBuddy测试通过了。
复制代码 代码如下:^(?!\d*?(\d)\d*?\1)\d{5,10}$
对于(?!………(……)………\1)这样的形式我还没有研究透,有时间我真要细细研究。
上一个php的例子:
复制代码 代码如下:
<?php
$str = '123456789';
$search = '/^(?!\d*?(\d)\d*?\1)\d{5,10}$/';
$result = preg_match($search,$str);
echo '匹配无重复的5到10位数字<br />';
if($result>0) {
echo '符合';
}else {
echo '不符合';
}
?>

