社区
C#
帖子详情
求一正则表达式: 不允许连续输入三个相同的字母
LeoMaya
2007-01-29 04:28:45
例如:
gdgabdsc, 正确
sgwaaausr, 错误
...全文
1143
12
打赏
收藏
求一正则表达式: 不允许连续输入三个相同的字母
例如: gdgabdsc, 正确 sgwaaausr, 错误
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LeoMaya
2007-01-29
打赏
举报
回复
呵呵, 找到了
string pattern = @"^(?=.*\d+)(?=.*[a-zA-Z]+)(?!.*?([a-zA-Z]+?)\1\1).{6,12}$";
Anyway, 感谢各位
LeoMaya
2007-01-29
打赏
举报
回复
因为我的pattern里面还有其他表达式是if里面为正确的, 想统一起来嘛^^
------------------------
还有什么要求一起说下,给你改下吧
=================================================
1. 长度为6-12位
2. 必须包含数字与字母
3. 不能连续输入三个相同的字母, 但允许连续三个相同的数字
王集鹄
2007-01-29
打赏
举报
回复
@"(\w)\1{2,}"
-过客-
2007-01-29
打赏
举报
回复
因为我的pattern里面还有其他表达式是if里面为正确的, 想统一起来嘛^^
------------------------
还有什么要求一起说下,给你改下吧
正则中^表示取反,不是!
------------------------
^用在不同位置有不同的意义的,(?!***)为正向预搜索,不是取反
LeoMaya
2007-01-29
打赏
举报
回复
To lxcnn(过客):
因为我的pattern里面还有其他表达式是if里面为正确的, 想统一起来嘛^^
liangxf0022
2007-01-29
打赏
举报
回复
正则中^表示取反,不是!
-过客-
2007-01-29
打赏
举报
回复
string pattern=@"(?!([a-zA-Z])\1{2})"
你这样写是非捕获组,不匹配任何内容的,如果想单独写pattern,直接把里面的提出来就行了
string pattern = @"([a-zA-Z])\1{2}";
另外,如果你要if的内容为正确,汗,在if里取反就行了
if( !Regex.IsMatch(testString, pattern) )
^(([a-zA-Z])(?!\2{2}))+$
大于
([a-zA-Z])\1{2}")取反哦,允许一些特殊字符串
----------------------------
不明白楼上的意思
liangxf0022
2007-01-29
打赏
举报
回复
^(([a-zA-Z])(?!\2{2}))+$
大于
([a-zA-Z])\1{2}")取反哦,允许一些特殊字符串
LeoMaya
2007-01-29
打赏
举报
回复
你上面的例子能这样用么?
string pattern=@"(?!([a-zA-Z])\1{2})"
if(Regex.IsMatch(testString, pattern))
{
//正确
}
else
{
//错误
}
-过客-
2007-01-29
打赏
举报
回复
用在验证控件里麻烦些
^(([a-zA-Z])(?!\2{2}))+$
如果还有位数限制,把里面的+换成如下形式
{m,n}其中m为最小值,n为最大值
LeoMaya
2007-01-29
打赏
举报
回复
用在密码检验里面的
-过客-
2007-01-29
打赏
举报
回复
看你用在哪里了
if(Regex.IsMatch(yourStr,@"([a-zA-Z])\1{2}"))
{
//错误
}
else
{
//正确
}
验证密码不
允许
有
连续
三位重复的
正则表达式
var re = /(\w)*(\w)\2{2}(\w)*/g; js中验证密码不
允许
有
连续
三位重复的
正则表达式
这个正则的意思就是任意的
字母
或数字或下划线(捕获为组1)0次到多次跟着一个任意的
字母
或数字或下划线(捕获为组2)紧跟着“\2{2}”是指反向捕获 组2(就是这里的内容要和组2一样的并且出现2次,所以就等于
三个
重复的)后面跟着一个任意的
字母
或数字或下划线0次到多次 <!d...
一个密码中包含数字,大写
字母
,小写
字母
,特殊符号@#$%^&*中的三种,长度在6-12 之间,并且不能出现
连续
相同
的字符串;正确返回1,不正确返回0.
package com.sun.DoSubject;import java.util.LinkedList;import java.util.Queue;import java.util.regex.Matcher;import java.util.regex.Pattern;//设定一个密码,密码中包含数字,大写
字母
,小写
字母
,特殊符号@#$%^&*中的三种,//长度在6-12 之间,并且不能出
Qt 常用
正则表达式
限制
输入
框的
输入
"^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\.[0-9]*[
js
正则表达式
(
允许
输入
中文、英文、
字母
;汉字中间有空格;全部为
相同
数字;港澳台通行证、居住证)
//
允许
输入
中文、英文、数字、全角点字符、半角逗号、半角空格;不
允许
输入
全角空格 let nameRegExp = /^(\u4E00-\u9FA5A-Za-z0-9\uFF0E,\s)+$/; // 全角点字符、半角逗号、半角空格在首尾、汉字中间有空格 let nameRegExp1 = /[\uFF0E,\s]|[\uFF0E,\s]$|([u4E00-u9FA5])(\s)(?=[^u4E00-u9FA5])/gi; // 汉字中间有空格 let nameRegExp2 = /([u4E00-u9.
密码校验规则(不能包含3个及以上字典、键盘
连续
字符)[Java版]
因为没做过字典
连续
字符的判断,
正则表达式
好像也做不到,一时没有思路,参考了开篇提到的那篇博客(键盘
连续
字符的判断),所以有了以下工具方法,可自行取舍~数字、小写
字母
、大写
字母
、特殊字符,至少包含三种。不能包含
连续
3位及以上
相同
字母
或数字。不能包含3个及以上字典
连续
字符。长度大于8,且小于32。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章