基本上我想写一个正则表达式来表示任何{0,1}字符串,其最后4个字符具有相同数量的0和1.当然
(0 | 1)*(1100 | 1010 | 1001 | 0110 | 0101 | 0011)
会做的伎俩,但如果有更简洁的方式?
这个正则表达式可以解决问题.
^[01]*(?=.*?1.*1)(?=.*?0.*0).{4}$
Run Code Online (Sandbox Code Playgroud)
^ 断言我们刚开始.
[01]* 匹配0或1,零次或多次.
正向前瞻(?=.*?1.*1)(?=.*?0.*0).{4}$断言最后4个字符必须包含两个1和两个0.如果是,则匹配整行.而且@nhahdth提出了一个更有效的方法.
^[01]*(?=.{4}$)(?=.*?0.*0).*?1.*1.*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |