微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否存在与(0 | 1)*(1100 | 1010 | 1001 | 0110 | 0101 | 0011)具有相同效果的简洁正则表达式?

基本上我想写一个正则表达式来表示任何{0,1}字符串,其最后4个字符具有相同数量的0和1.当然

(0|1)*(1100|1010|1001|0110|0101|0011)

会做的伎俩,但如果有更简洁的方式?

解决方法

这个正则表达式可以解决问题.

^[01]*(?=.*?1.*1)(?=.*?0.*0).{4}$

DEMO

^断言我们刚开始.

[01] *匹配0或1,零次或多次.

正向前瞻(?=.*?1. * 1)(?=.*?0. * 0).{4} $断言最后4个字符必须包含两个1和两个0.如果是,则匹配整行.而且@nhahdth提出了一个更有效的方法.

^[01]*(?=.{4}$)(?=.*?0.*0).*?1.*1.*

DEMO

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐