基本上我想写
一个正则表达式来表示任何{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