3v4l.org

run code in 500+ PHP versions simultaneously
<?php $re = '/(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))/'; $s = '0@[IPv6:7:6:' . str_repeat('a:1:2:::3:a:a1', 2000) . '\x00'; preg_match($re, $s); if(preg_last_error()!=PREG_NO_ERROR) echo preg_last_error_msg();
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 17
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
filename:       /in/OJFjv
function name:  (null)
number of ops:  18
compiled vars:  !0 = $re, !1 = $s
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                       !0, '%2F%28%3F%21%28%3F%3A%28%3F%3A%5Cx22%3F%5Cx5C%5B%5Cx00-%5Cx7E%5D%5Cx22%3F%29%7C%28%3F%3A%5Cx22%3F%5B%5E%5Cx5C%5Cx22%5D%5Cx22%3F%29%29%7B255%2C%7D%29%28%3F%21%28%3F%3A%28%3F%3A%5Cx22%3F%5Cx5C%5B%5Cx00-%5Cx7E%5D%5Cx22%3F%29%7C%28%3F%3A%5Cx22%3F%5B%5E%5Cx5C%5Cx22%5D%5Cx22%3F%29%29%7B65%2C%7D%40%29%28%3F%3A%28%3F%3A%5B%5Cx21%5Cx23-%5Cx27%5Cx2A%5Cx2B%5Cx2D%5Cx2F-%5Cx39%5Cx3D%5Cx3F%5Cx5E-%5Cx7E%5D%2B%29%7C%28%3F%3A%5Cx22%28%3F%3A%5B%5Cx01-%5Cx08%5Cx0B%5Cx0C%5Cx0E-%5Cx1F%5Cx21%5Cx23-%5Cx5B%5Cx5D-%5Cx7F%5D%7C%28%3F%3A%5Cx5C%5B%5Cx00-%5Cx7F%5D%29%29%2A%5Cx22%29%29%28%3F%3A%5C.%28%3F%3A%28%3F%3A%5B%5Cx21%5Cx23-%5Cx27%5Cx2A%5Cx2B%5Cx2D%5Cx2F-%5Cx39%5Cx3D%5Cx3F%5Cx5E-%5Cx7E%5D%2B%29%7C%28%3F%3A%5Cx22%28%3F%3A%5B%5Cx01-%5Cx08%5Cx0B%5Cx0C%5Cx0E-%5Cx1F%5Cx21%5Cx23-%5Cx5B%5Cx5D-%5Cx7F%5D%7C%28%3F%3A%5Cx5C%5B%5Cx00-%5Cx7F%5D%29%29%2A%5Cx22%29%29%29%2A%40%28%3F%3A%28%3F%3A%28%3F%21.%2A%5B%5E.%5D%7B64%2C%7D%29%28%3F%3A%28%3F%3A%28%3F%3Axn--%29%3F%5Ba-z0-9%5D%2B%28%3F%3A-%5Ba-z0-9%5D%2B%29%2A%5C.%29%7B1%2C126%7D%29%7B1%2C%7D%28%3F%3A%28%3F%3A%5Ba-z%5D%5Ba-z0-9%5D%2A%29%7C%28%3F%3A%28%3F%3Axn--%29%5Ba-z0-9%5D%2B%29%29%28%3F%3A-%5Ba-z0-9%5D%2B%29%2A%29%7C%28%3F%3A%5C%5B%28%3F%3A%28%3F%3AIPv6%3A%28%3F%3A%28%3F%3A%5Ba-f0-9%5D%7B1%2C4%7D%28%3F%3A%3A%5Ba-f0-9%5D%7B1%2C4%7D%29%7B7%7D%29%7C%28%3F%3A%28%3F%21%28%3F%3A.%2A%5Ba-f0-9%5D%5B%3A%5C%5D%5D%29%7B7%2C%7D%29%28%3F%3A%5Ba-f0-9%5D%7B1%2C4%7D%28%3F%3A%3A%5Ba-f0-9%5D%7B1%2C4%7D%29%7B0%2C5%7D%29%3F%3A%3A%28%3F%3A%5Ba-f0-9%5D%7B1%2C4%7D%28%3F%3A%3A%5Ba-f0-9%5D%7B1%2C4%7D%29%7B0%2C5%7D%29%3F%29%29%29%7C%28%3F%3A%28%3F%3AIPv6%3A%28%3F%3A%28%3F%3A%5Ba-f0-9%5D%7B1%2C4%7D%28%3F%3A%3A%5Ba-f0-9%5D%7B1%2C4%7D%29%7B5%7D%3A%29%7C%28%3F%3A%28%3F%21%28%3F%3A.%2A%5Ba-f0-9%5D%3A%29%7B5%2C%7D%29%28%3F%3A%5Ba-f0-9%5D%7B1%2C4%7D%28%3F%3A%3A%5Ba-f0-9%5D%7B1%2C4%7D%29%7B0%2C3%7D%29%3F%3A%3A%28%3F%3A%5Ba-f0-9%5D%7B1%2C4%7D%28%3F%3A%3A%5Ba-f0-9%5D%7B1%2C4%7D%29%7B0%2C3%7D%3A%29%3F%29%29%29%3F%28%3F%3A%28%3F%3A25%5B0-5%5D%29%7C%28%3F%3A2%5B0-4%5D%5B0-9%5D%29%7C%28%3F%3A1%5B0-9%5D%7B2%7D%29%7C%28%3F%3A%5B1-9%5D%3F%5B0-9%5D%29%29%28%3F%3A%5C.%28%3F%3A%28%3F%3A25%5B0-5%5D%29%7C%28%3F%3A2%5B0-4%5D%5B0-9%5D%29%7C%28%3F%3A1%5B0-9%5D%7B2%7D%29%7C%28%3F%3A%5B1-9%5D%3F%5B0-9%5D%29%29%29%7B3%7D%29%29%5C%5D%29%29%2F'
    4     1        INIT_FCALL                                                   'str_repeat'
          2        SEND_VAL                                                     'a%3A1%3A2%3A%3A%3A3%3Aa%3Aa1'
          3        SEND_VAL                                                     2000
          4        DO_ICALL                                             $3      
          5        CONCAT                                               ~4      '0%40%5BIPv6%3A7%3A6%3A', $3
          6        CONCAT                                               ~5      ~4, '%5Cx00'
          7        ASSIGN                                                       !1, ~5
    6     8        FRAMELESS_ICALL_2                preg_match          ~7      !0, !1
          9        FREE                                                         ~7
    7    10        INIT_FCALL                                                   'preg_last_error'
         11        DO_ICALL                                             $8      
         12        IS_NOT_EQUAL                                                 $8, 0
         13      > JMPZ                                                         ~9, ->17
    8    14    >   INIT_FCALL                                                   'preg_last_error_msg'
         15        DO_ICALL                                             $10     
         16        ECHO                                                         $10
         17    > > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
156.72 ms | 1496 KiB | 17 Q