正则表达式匹配字符串中出现a,b,c三个字母各一次并且顺序任意
如题,今天突然想到这么个题目,没想出来答案。请大神们指教一下。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如题,今天突然想到这么个题目,没想出来答案。请大神们指教一下。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
正向写这个正则太恶心了,需要枚举6种排序方式.但是,如果把你的要求反过来看,就是不能达成 abc三个字母必须出现且只能出现一次 的情况,就必然会满足以下的条件之一:
只要出现以上的六种情况,那么必然就没有达成你的原始要求,那么正则如下:
^([^a]+|[^b]+|[^c]+|([^a]*a[^a]*){2,}|([^b]*b[^b]*){2,}|([^c]*c[^c]*){2,})$
ps. 这个正则如果匹配成功,就说明不符合要求
图示如下:
我不考虑字符串为空的情况哈,你要考虑自己加上.
一个正则太麻烦了,建议个组合判断,非要一个正则,就像下面这样麻烦