tools/pcre/testdata/testinput8
author Ruben Gonzalez <drifter01620@gmail.com>
Thu May 22 09:49:27 2014 -0400 (2014-05-22)
changeset 4378 568f4497ef4a
parent 3831 babd0eee3c5e
permissions -rw-r--r--
Update CS:GO team score gamedata.
skamonkey@3831
     1
/-- This set of tests check the DFA matching functionality of pcre_dfa_exec().
skamonkey@3831
     2
    The -dfa flag must be used with pcretest when running it. --/
skamonkey@3831
     3
     
skamonkey@3831
     4
/abc/
skamonkey@3831
     5
    abc
skamonkey@3831
     6
    
skamonkey@3831
     7
/ab*c/
skamonkey@3831
     8
    abc
skamonkey@3831
     9
    abbbbc
skamonkey@3831
    10
    ac
dvander@2762
    11
    
skamonkey@3831
    12
/ab+c/
skamonkey@3831
    13
    abc
skamonkey@3831
    14
    abbbbbbc
dvander@2762
    15
    *** Failers 
skamonkey@3831
    16
    ac
dvander@2762
    17
    ab
skamonkey@3831
    18
    
skamonkey@3831
    19
/a*/
skamonkey@3831
    20
    a
skamonkey@3831
    21
    aaaaaaaaaaaaaaaaa
skamonkey@3831
    22
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
skamonkey@3831
    23
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\F 
skamonkey@3831
    24
    
skamonkey@3831
    25
/(a|abcd|african)/
skamonkey@3831
    26
    a
skamonkey@3831
    27
    abcd
skamonkey@3831
    28
    african
dvander@2762
    29
    
skamonkey@3831
    30
/^abc/
skamonkey@3831
    31
    abcdef
dvander@2762
    32
    *** Failers
skamonkey@3831
    33
    xyzabc
skamonkey@3831
    34
    xyz\nabc    
skamonkey@3831
    35
    
skamonkey@3831
    36
/^abc/m
skamonkey@3831
    37
    abcdef
skamonkey@3831
    38
    xyz\nabc    
skamonkey@3831
    39
    *** Failers
skamonkey@3831
    40
    xyzabc
dvander@2762
    41
    
skamonkey@3831
    42
/\Aabc/
skamonkey@3831
    43
    abcdef
dvander@2762
    44
    *** Failers
skamonkey@3831
    45
    xyzabc
skamonkey@3831
    46
    xyz\nabc    
dvander@2762
    47
    
skamonkey@3831
    48
/\Aabc/m
skamonkey@3831
    49
    abcdef
skamonkey@3831
    50
    *** Failers
skamonkey@3831
    51
    xyzabc
skamonkey@3831
    52
    xyz\nabc    
skamonkey@3831
    53
    
skamonkey@3831
    54
/\Gabc/
skamonkey@3831
    55
    abcdef
skamonkey@3831
    56
    xyzabc\>3
skamonkey@3831
    57
    *** Failers
skamonkey@3831
    58
    xyzabc    
skamonkey@3831
    59
    xyzabc\>2 
skamonkey@3831
    60
    
skamonkey@3831
    61
/x\dy\Dz/
skamonkey@3831
    62
    x9yzz
skamonkey@3831
    63
    x0y+z
dvander@2762
    64
    *** Failers
skamonkey@3831
    65
    xyz
skamonkey@3831
    66
    xxy0z     
skamonkey@3831
    67
    
skamonkey@3831
    68
/x\sy\Sz/
skamonkey@3831
    69
    x yzz
skamonkey@3831
    70
    x y+z
dvander@2762
    71
    *** Failers
skamonkey@3831
    72
    xyz
skamonkey@3831
    73
    xxyyz
skamonkey@3831
    74
    
skamonkey@3831
    75
/x\wy\Wz/
skamonkey@3831
    76
    xxy+z
skamonkey@3831
    77
    *** Failers
skamonkey@3831
    78
    xxy0z
skamonkey@3831
    79
    x+y+z         
skamonkey@3831
    80
    
skamonkey@3831
    81
/x.y/
skamonkey@3831
    82
    x+y
skamonkey@3831
    83
    x-y
dvander@2762
    84
    *** Failers
skamonkey@3831
    85
    x\ny
skamonkey@3831
    86
    
skamonkey@3831
    87
/x.y/s
skamonkey@3831
    88
    x+y
skamonkey@3831
    89
    x-y
skamonkey@3831
    90
    x\ny
skamonkey@3831
    91
skamonkey@3831
    92
/(a.b(?s)c.d|x.y)p.q/
skamonkey@3831
    93
    a+bc+dp+q
skamonkey@3831
    94
    a+bc\ndp+q
skamonkey@3831
    95
    x\nyp+q 
skamonkey@3831
    96
    *** Failers 
skamonkey@3831
    97
    a\nbc\ndp+q
skamonkey@3831
    98
    a+bc\ndp\nq
skamonkey@3831
    99
    x\nyp\nq 
skamonkey@3831
   100
skamonkey@3831
   101
/a\d\z/
skamonkey@3831
   102
    ba0
skamonkey@3831
   103
    *** Failers
skamonkey@3831
   104
    ba0\n
skamonkey@3831
   105
    ba0\ncd   
skamonkey@3831
   106
skamonkey@3831
   107
/a\d\z/m
skamonkey@3831
   108
    ba0
dvander@2762
   109
    *** Failers
skamonkey@3831
   110
    ba0\n
skamonkey@3831
   111
    ba0\ncd   
skamonkey@3831
   112
skamonkey@3831
   113
/a\d\Z/
skamonkey@3831
   114
    ba0
skamonkey@3831
   115
    ba0\n
skamonkey@3831
   116
    *** Failers
skamonkey@3831
   117
    ba0\ncd   
skamonkey@3831
   118
skamonkey@3831
   119
/a\d\Z/m
skamonkey@3831
   120
    ba0
skamonkey@3831
   121
    ba0\n
dvander@2762
   122
    *** Failers
skamonkey@3831
   123
    ba0\ncd   
skamonkey@3831
   124
skamonkey@3831
   125
/a\d$/
skamonkey@3831
   126
    ba0
skamonkey@3831
   127
    ba0\n
skamonkey@3831
   128
    *** Failers
skamonkey@3831
   129
    ba0\ncd   
skamonkey@3831
   130
skamonkey@3831
   131
/a\d$/m
skamonkey@3831
   132
    ba0
skamonkey@3831
   133
    ba0\n
skamonkey@3831
   134
    ba0\ncd   
dvander@2762
   135
    *** Failers
skamonkey@3831
   136
skamonkey@3831
   137
/abc/i
skamonkey@3831
   138
    abc
skamonkey@3831
   139
    aBc
skamonkey@3831
   140
    ABC
skamonkey@3831
   141
    
skamonkey@3831
   142
/[^a]/
skamonkey@3831
   143
    abcd
skamonkey@3831
   144
    
skamonkey@3831
   145
/ab?\w/
skamonkey@3831
   146
    abz
skamonkey@3831
   147
    abbz
skamonkey@3831
   148
    azz  
skamonkey@3831
   149
skamonkey@3831
   150
/x{0,3}yz/
skamonkey@3831
   151
    ayzq
skamonkey@3831
   152
    axyzq
skamonkey@3831
   153
    axxyz
skamonkey@3831
   154
    axxxyzq
skamonkey@3831
   155
    axxxxyzq
dvander@2762
   156
    *** Failers
skamonkey@3831
   157
    ax
skamonkey@3831
   158
    axx     
skamonkey@3831
   159
      
skamonkey@3831
   160
/x{3}yz/
skamonkey@3831
   161
    axxxyzq
skamonkey@3831
   162
    axxxxyzq
dvander@2762
   163
    *** Failers
skamonkey@3831
   164
    ax
skamonkey@3831
   165
    axx     
skamonkey@3831
   166
    ayzq
skamonkey@3831
   167
    axyzq
skamonkey@3831
   168
    axxyz
skamonkey@3831
   169
      
skamonkey@3831
   170
/x{2,3}yz/
skamonkey@3831
   171
    axxyz
skamonkey@3831
   172
    axxxyzq
skamonkey@3831
   173
    axxxxyzq
skamonkey@3831
   174
    *** Failers
skamonkey@3831
   175
    ax
skamonkey@3831
   176
    axx     
skamonkey@3831
   177
    ayzq
skamonkey@3831
   178
    axyzq
skamonkey@3831
   179
      
skamonkey@3831
   180
/[^a]+/
skamonkey@3831
   181
    bac
skamonkey@3831
   182
    bcdefax
skamonkey@3831
   183
    *** Failers
skamonkey@3831
   184
    aaaaa   
skamonkey@3831
   185
skamonkey@3831
   186
/[^a]*/
skamonkey@3831
   187
    bac
skamonkey@3831
   188
    bcdefax
skamonkey@3831
   189
    *** Failers
skamonkey@3831
   190
    aaaaa   
dvander@2762
   191
    
skamonkey@3831
   192
/[^a]{3,5}/
skamonkey@3831
   193
    xyz
skamonkey@3831
   194
    awxyza
skamonkey@3831
   195
    abcdefa
skamonkey@3831
   196
    abcdefghijk
dvander@2762
   197
    *** Failers
skamonkey@3831
   198
    axya
skamonkey@3831
   199
    axa
skamonkey@3831
   200
    aaaaa         
skamonkey@3831
   201
skamonkey@3831
   202
/\d*/
skamonkey@3831
   203
    1234b567
skamonkey@3831
   204
    xyz
dvander@2762
   205
    
skamonkey@3831
   206
/\D*/
skamonkey@3831
   207
    a1234b567
skamonkey@3831
   208
    xyz
skamonkey@3831
   209
     
skamonkey@3831
   210
/\d+/
skamonkey@3831
   211
    ab1234c56
skamonkey@3831
   212
    *** Failers
skamonkey@3831
   213
    xyz
skamonkey@3831
   214
    
skamonkey@3831
   215
/\D+/
skamonkey@3831
   216
    ab123c56
skamonkey@3831
   217
    *** Failers
skamonkey@3831
   218
    789
dvander@2762
   219
    
skamonkey@3831
   220
/\d?A/
skamonkey@3831
   221
    045ABC
skamonkey@3831
   222
    ABC
skamonkey@3831
   223
    *** Failers
skamonkey@3831
   224
    XYZ
skamonkey@3831
   225
    
skamonkey@3831
   226
/\D?A/
skamonkey@3831
   227
    ABC
skamonkey@3831
   228
    BAC
skamonkey@3831
   229
    9ABC             
skamonkey@3831
   230
    *** Failers
skamonkey@3831
   231
skamonkey@3831
   232
/a+/
skamonkey@3831
   233
    aaaa
skamonkey@3831
   234
skamonkey@3831
   235
/^.*xyz/
skamonkey@3831
   236
    xyz
skamonkey@3831
   237
    ggggggggxyz
skamonkey@3831
   238
    
skamonkey@3831
   239
/^.+xyz/
skamonkey@3831
   240
    abcdxyz
skamonkey@3831
   241
    axyz
skamonkey@3831
   242
    *** Failers
skamonkey@3831
   243
    xyz
dvander@2762
   244
    
skamonkey@3831
   245
/^.?xyz/
skamonkey@3831
   246
    xyz
skamonkey@3831
   247
    cxyz       
skamonkey@3831
   248
skamonkey@3831
   249
/^\d{2,3}X/
skamonkey@3831
   250
    12X
skamonkey@3831
   251
    123X
skamonkey@3831
   252
    *** Failers
skamonkey@3831
   253
    X
skamonkey@3831
   254
    1X
skamonkey@3831
   255
    1234X     
skamonkey@3831
   256
skamonkey@3831
   257
/^[abcd]\d/
skamonkey@3831
   258
    a45
skamonkey@3831
   259
    b93
skamonkey@3831
   260
    c99z
skamonkey@3831
   261
    d04
skamonkey@3831
   262
    *** Failers
skamonkey@3831
   263
    e45
skamonkey@3831
   264
    abcd      
skamonkey@3831
   265
    abcd1234
skamonkey@3831
   266
    1234  
skamonkey@3831
   267
skamonkey@3831
   268
/^[abcd]*\d/
skamonkey@3831
   269
    a45
skamonkey@3831
   270
    b93
skamonkey@3831
   271
    c99z
skamonkey@3831
   272
    d04
skamonkey@3831
   273
    abcd1234
skamonkey@3831
   274
    1234  
skamonkey@3831
   275
    *** Failers
skamonkey@3831
   276
    e45
skamonkey@3831
   277
    abcd      
skamonkey@3831
   278
skamonkey@3831
   279
/^[abcd]+\d/
skamonkey@3831
   280
    a45
skamonkey@3831
   281
    b93
skamonkey@3831
   282
    c99z
skamonkey@3831
   283
    d04
skamonkey@3831
   284
    abcd1234
dvander@2762
   285
    *** Failers
dvander@2762
   286
    1234  
skamonkey@3831
   287
    e45
skamonkey@3831
   288
    abcd      
skamonkey@3831
   289
skamonkey@3831
   290
/^a+X/
skamonkey@3831
   291
    aX
skamonkey@3831
   292
    aaX 
skamonkey@3831
   293
skamonkey@3831
   294
/^[abcd]?\d/
skamonkey@3831
   295
    a45
skamonkey@3831
   296
    b93
skamonkey@3831
   297
    c99z
skamonkey@3831
   298
    d04
skamonkey@3831
   299
    1234  
skamonkey@3831
   300
    *** Failers
skamonkey@3831
   301
    abcd1234
skamonkey@3831
   302
    e45
skamonkey@3831
   303
skamonkey@3831
   304
/^[abcd]{2,3}\d/
skamonkey@3831
   305
    ab45
skamonkey@3831
   306
    bcd93
skamonkey@3831
   307
    *** Failers
skamonkey@3831
   308
    1234 
skamonkey@3831
   309
    a36 
skamonkey@3831
   310
    abcd1234
skamonkey@3831
   311
    ee45
skamonkey@3831
   312
skamonkey@3831
   313
/^(abc)*\d/
skamonkey@3831
   314
    abc45
skamonkey@3831
   315
    abcabcabc45
skamonkey@3831
   316
    42xyz 
skamonkey@3831
   317
    *** Failers
skamonkey@3831
   318
skamonkey@3831
   319
/^(abc)+\d/
skamonkey@3831
   320
    abc45
skamonkey@3831
   321
    abcabcabc45
skamonkey@3831
   322
    *** Failers
skamonkey@3831
   323
    42xyz 
skamonkey@3831
   324
skamonkey@3831
   325
/^(abc)?\d/
skamonkey@3831
   326
    abc45
skamonkey@3831
   327
    42xyz 
skamonkey@3831
   328
    *** Failers
skamonkey@3831
   329
    abcabcabc45
skamonkey@3831
   330
skamonkey@3831
   331
/^(abc){2,3}\d/
skamonkey@3831
   332
    abcabc45
skamonkey@3831
   333
    abcabcabc45
skamonkey@3831
   334
    *** Failers
skamonkey@3831
   335
    abcabcabcabc45
skamonkey@3831
   336
    abc45
skamonkey@3831
   337
    42xyz 
skamonkey@3831
   338
skamonkey@3831
   339
/1(abc|xyz)2(?1)3/
skamonkey@3831
   340
    1abc2abc3456
skamonkey@3831
   341
    1abc2xyz3456 
skamonkey@3831
   342
skamonkey@3831
   343
/^(a*\w|ab)=(a*\w|ab)/
skamonkey@3831
   344
    ab=ab
skamonkey@3831
   345
skamonkey@3831
   346
/^(a*\w|ab)=(?1)/
skamonkey@3831
   347
    ab=ab
skamonkey@3831
   348
skamonkey@3831
   349
/^([^()]|\((?1)*\))*$/
skamonkey@3831
   350
    abc
skamonkey@3831
   351
    a(b)c
skamonkey@3831
   352
    a(b(c))d  
skamonkey@3831
   353
    *** Failers)
skamonkey@3831
   354
    a(b(c)d  
skamonkey@3831
   355
skamonkey@3831
   356
/^>abc>([^()]|\((?1)*\))*<xyz<$/
skamonkey@3831
   357
    >abc>123<xyz<
skamonkey@3831
   358
    >abc>1(2)3<xyz<
skamonkey@3831
   359
    >abc>(1(2)3)<xyz<
skamonkey@3831
   360
skamonkey@3831
   361
/^(?>a*)\d/
skamonkey@3831
   362
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9876
skamonkey@3831
   363
    *** Failers 
skamonkey@3831
   364
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
skamonkey@3831
   365
skamonkey@3831
   366
/< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
skamonkey@3831
   367
    <>
skamonkey@3831
   368
    <abcd>
skamonkey@3831
   369
    <abc <123> hij>
skamonkey@3831
   370
    <abc <def> hij>
skamonkey@3831
   371
    <abc<>def> 
skamonkey@3831
   372
    <abc<>      
skamonkey@3831
   373
    *** Failers
skamonkey@3831
   374
    <abc
skamonkey@3831
   375
skamonkey@3831
   376
/^(?(?=abc)\w{3}:|\d\d)$/        
skamonkey@3831
   377
    abc:                          
skamonkey@3831
   378
    12                             
skamonkey@3831
   379
    *** Failers                     
skamonkey@3831
   380
    123                       
skamonkey@3831
   381
    xyz                        
skamonkey@3831
   382
                                
skamonkey@3831
   383
/^(?(?!abc)\d\d|\w{3}:)$/      
skamonkey@3831
   384
    abc:                        
skamonkey@3831
   385
    12         
skamonkey@3831
   386
    *** Failers
skamonkey@3831
   387
    123
skamonkey@3831
   388
    xyz    
skamonkey@3831
   389
skamonkey@3831
   390
/^(?=abc)\w{5}:$/        
skamonkey@3831
   391
    abcde:                          
skamonkey@3831
   392
    *** Failers                     
skamonkey@3831
   393
    abc.. 
skamonkey@3831
   394
    123                       
skamonkey@3831
   395
    vwxyz                        
skamonkey@3831
   396
                                
skamonkey@3831
   397
/^(?!abc)\d\d$/      
skamonkey@3831
   398
    12         
skamonkey@3831
   399
    *** Failers
skamonkey@3831
   400
    abcde:
skamonkey@3831
   401
    abc..  
skamonkey@3831
   402
    123
skamonkey@3831
   403
    vwxyz    
skamonkey@3831
   404
skamonkey@3831
   405
/(?<=abc|xy)123/
skamonkey@3831
   406
    abc12345
skamonkey@3831
   407
    wxy123z
skamonkey@3831
   408
    *** Failers
skamonkey@3831
   409
    123abc
skamonkey@3831
   410
skamonkey@3831
   411
/(?<!abc|xy)123/
skamonkey@3831
   412
    123abc
skamonkey@3831
   413
    mno123456 
skamonkey@3831
   414
    *** Failers
skamonkey@3831
   415
    abc12345
skamonkey@3831
   416
    wxy123z
skamonkey@3831
   417
skamonkey@3831
   418
/abc(?C1)xyz/
skamonkey@3831
   419
    abcxyz
skamonkey@3831
   420
    123abcxyz999 
skamonkey@3831
   421
skamonkey@3831
   422
/(ab|cd){3,4}/C
skamonkey@3831
   423
  ababab
skamonkey@3831
   424
  abcdabcd
skamonkey@3831
   425
  abcdcdcdcdcd  
skamonkey@3831
   426
skamonkey@3831
   427
/^abc/
skamonkey@3831
   428
    abcdef
skamonkey@3831
   429
    *** Failers
skamonkey@3831
   430
    abcdef\B  
skamonkey@3831
   431
skamonkey@3831
   432
/^(a*|xyz)/
skamonkey@3831
   433
    bcd
skamonkey@3831
   434
    aaabcd
skamonkey@3831
   435
    xyz
skamonkey@3831
   436
    xyz\N  
skamonkey@3831
   437
    *** Failers
skamonkey@3831
   438
    bcd\N   
skamonkey@3831
   439
    
skamonkey@3831
   440
/xyz$/
skamonkey@3831
   441
    xyz
skamonkey@3831
   442
    xyz\n
skamonkey@3831
   443
    *** Failers
skamonkey@3831
   444
    xyz\Z
skamonkey@3831
   445
    xyz\n\Z    
skamonkey@3831
   446
    
skamonkey@3831
   447
/xyz$/m
skamonkey@3831
   448
    xyz
skamonkey@3831
   449
    xyz\n 
skamonkey@3831
   450
    abcxyz\npqr 
skamonkey@3831
   451
    abcxyz\npqr\Z 
skamonkey@3831
   452
    xyz\n\Z    
skamonkey@3831
   453
    *** Failers
skamonkey@3831
   454
    xyz\Z
skamonkey@3831
   455
skamonkey@3831
   456
/\Gabc/
skamonkey@3831
   457
    abcdef
skamonkey@3831
   458
    defabcxyz\>3 
skamonkey@3831
   459
    *** Failers 
skamonkey@3831
   460
    defabcxyz
skamonkey@3831
   461
skamonkey@3831
   462
/^abcdef/
skamonkey@3831
   463
    ab\P
skamonkey@3831
   464
    abcde\P
skamonkey@3831
   465
    abcdef\P
skamonkey@3831
   466
    *** Failers
skamonkey@3831
   467
    abx\P    
skamonkey@3831
   468
skamonkey@3831
   469
/^a{2,4}\d+z/
skamonkey@3831
   470
    a\P
skamonkey@3831
   471
    aa\P
skamonkey@3831
   472
    aa2\P 
skamonkey@3831
   473
    aaa\P
skamonkey@3831
   474
    aaa23\P 
skamonkey@3831
   475
    aaaa12345\P
skamonkey@3831
   476
    aa0z\P
skamonkey@3831
   477
    aaaa4444444444444z\P 
skamonkey@3831
   478
    *** Failers
skamonkey@3831
   479
    az\P 
skamonkey@3831
   480
    aaaaa\P 
skamonkey@3831
   481
    a56\P 
skamonkey@3831
   482
skamonkey@3831
   483
/^abcdef/
skamonkey@3831
   484
   abc\P
skamonkey@3831
   485
   def\R 
skamonkey@3831
   486
   
skamonkey@3831
   487
/(?<=foo)bar/
skamonkey@3831
   488
   xyzfo\P 
skamonkey@3831
   489
   foob\P\>2 
skamonkey@3831
   490
   foobar...\R\P\>4 
skamonkey@3831
   491
   xyzfo\P
skamonkey@3831
   492
   foobar\>2  
skamonkey@3831
   493
   *** Failers
skamonkey@3831
   494
   xyzfo\P
skamonkey@3831
   495
   obar\R   
skamonkey@3831
   496
skamonkey@3831
   497
/(ab*(cd|ef))+X/
skamonkey@3831
   498
    adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkj\P\Z
skamonkey@3831
   499
    lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefa\P\B\Z
skamonkey@3831
   500
    cdabbbbbbbb\P\R\B\Z
skamonkey@3831
   501
    efabbbbbbbbbbbbbbbb\P\R\B\Z
skamonkey@3831
   502
    bbbbbbbbbbbbcdXyasdfadf\P\R\B\Z    
skamonkey@3831
   503
skamonkey@3831
   504
/(a|b)/SF>testsavedregex
skamonkey@3831
   505
<testsavedregex
skamonkey@3831
   506
    abc
skamonkey@3831
   507
    ** Failers
skamonkey@3831
   508
    def  
skamonkey@3831
   509
    
skamonkey@3831
   510
/the quick brown fox/
skamonkey@3831
   511
    the quick brown fox
skamonkey@3831
   512
    The quick brown FOX
skamonkey@3831
   513
    What do you know about the quick brown fox?
skamonkey@3831
   514
    What do you know about THE QUICK BROWN FOX?
skamonkey@3831
   515
skamonkey@3831
   516
/The quick brown fox/i
skamonkey@3831
   517
    the quick brown fox
skamonkey@3831
   518
    The quick brown FOX
skamonkey@3831
   519
    What do you know about the quick brown fox?
skamonkey@3831
   520
    What do you know about THE QUICK BROWN FOX?
skamonkey@3831
   521
skamonkey@3831
   522
/abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
skamonkey@3831
   523
    abcd\t\n\r\f\a\e9;\$\\?caxyz
skamonkey@3831
   524
skamonkey@3831
   525
/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
skamonkey@3831
   526
    abxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   527
    abxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   528
    aabxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   529
    aaabxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   530
    aaaabxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   531
    abcxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   532
    aabcxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   533
    aaabcxyzpqrrrabbxyyyypAzz
skamonkey@3831
   534
    aaabcxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   535
    aaabcxyzpqrrrabbxyyyypqqAzz
skamonkey@3831
   536
    aaabcxyzpqrrrabbxyyyypqqqAzz
skamonkey@3831
   537
    aaabcxyzpqrrrabbxyyyypqqqqAzz
skamonkey@3831
   538
    aaabcxyzpqrrrabbxyyyypqqqqqAzz
skamonkey@3831
   539
    aaabcxyzpqrrrabbxyyyypqqqqqqAzz
skamonkey@3831
   540
    aaaabcxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   541
    abxyzzpqrrrabbxyyyypqAzz
skamonkey@3831
   542
    aabxyzzzpqrrrabbxyyyypqAzz
skamonkey@3831
   543
    aaabxyzzzzpqrrrabbxyyyypqAzz
skamonkey@3831
   544
    aaaabxyzzzzpqrrrabbxyyyypqAzz
skamonkey@3831
   545
    abcxyzzpqrrrabbxyyyypqAzz
skamonkey@3831
   546
    aabcxyzzzpqrrrabbxyyyypqAzz
skamonkey@3831
   547
    aaabcxyzzzzpqrrrabbxyyyypqAzz
skamonkey@3831
   548
    aaaabcxyzzzzpqrrrabbxyyyypqAzz
skamonkey@3831
   549
    aaaabcxyzzzzpqrrrabbbxyyyypqAzz
skamonkey@3831
   550
    aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
skamonkey@3831
   551
    aaabcxyzpqrrrabbxyyyypABzz
skamonkey@3831
   552
    aaabcxyzpqrrrabbxyyyypABBzz
skamonkey@3831
   553
    >>>aaabxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   554
    >aaaabxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   555
    >>>>abcxyzpqrrrabbxyyyypqAzz
skamonkey@3831
   556
    *** Failers
skamonkey@3831
   557
    abxyzpqrrabbxyyyypqAzz
skamonkey@3831
   558
    abxyzpqrrrrabbxyyyypqAzz
skamonkey@3831
   559
    abxyzpqrrrabxyyyypqAzz
skamonkey@3831
   560
    aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
skamonkey@3831
   561
    aaaabcxyzzzzpqrrrabbbxyyypqAzz
skamonkey@3831
   562
    aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
skamonkey@3831
   563
skamonkey@3831
   564
/^(abc){1,2}zz/
skamonkey@3831
   565
    abczz
skamonkey@3831
   566
    abcabczz
skamonkey@3831
   567
    *** Failers
skamonkey@3831
   568
    zz
skamonkey@3831
   569
    abcabcabczz
skamonkey@3831
   570
    >>abczz
skamonkey@3831
   571
skamonkey@3831
   572
/^(b+?|a){1,2}?c/
skamonkey@3831
   573
    bc
skamonkey@3831
   574
    bbc
skamonkey@3831
   575
    bbbc
skamonkey@3831
   576
    bac
skamonkey@3831
   577
    bbac
skamonkey@3831
   578
    aac
skamonkey@3831
   579
    abbbbbbbbbbbc
skamonkey@3831
   580
    bbbbbbbbbbbac
skamonkey@3831
   581
    *** Failers
skamonkey@3831
   582
    aaac
skamonkey@3831
   583
    abbbbbbbbbbbac
skamonkey@3831
   584
skamonkey@3831
   585
/^(b+|a){1,2}c/
skamonkey@3831
   586
    bc
skamonkey@3831
   587
    bbc
skamonkey@3831
   588
    bbbc
skamonkey@3831
   589
    bac
skamonkey@3831
   590
    bbac
skamonkey@3831
   591
    aac
skamonkey@3831
   592
    abbbbbbbbbbbc
skamonkey@3831
   593
    bbbbbbbbbbbac
skamonkey@3831
   594
    *** Failers
skamonkey@3831
   595
    aaac
skamonkey@3831
   596
    abbbbbbbbbbbac
skamonkey@3831
   597
skamonkey@3831
   598
/^(b+|a){1,2}?bc/
skamonkey@3831
   599
    bbc
skamonkey@3831
   600
skamonkey@3831
   601
/^(b*|ba){1,2}?bc/
skamonkey@3831
   602
    babc
skamonkey@3831
   603
    bbabc
skamonkey@3831
   604
    bababc
skamonkey@3831
   605
    *** Failers
skamonkey@3831
   606
    bababbc
skamonkey@3831
   607
    babababc
skamonkey@3831
   608
skamonkey@3831
   609
/^(ba|b*){1,2}?bc/
skamonkey@3831
   610
    babc
skamonkey@3831
   611
    bbabc
skamonkey@3831
   612
    bababc
skamonkey@3831
   613
    *** Failers
skamonkey@3831
   614
    bababbc
skamonkey@3831
   615
    babababc
skamonkey@3831
   616
skamonkey@3831
   617
/^\ca\cA\c[\c{\c:/
skamonkey@3831
   618
    \x01\x01\e;z
skamonkey@3831
   619
skamonkey@3831
   620
/^[ab\]cde]/
skamonkey@3831
   621
    athing
skamonkey@3831
   622
    bthing
skamonkey@3831
   623
    ]thing
skamonkey@3831
   624
    cthing
skamonkey@3831
   625
    dthing
skamonkey@3831
   626
    ething
skamonkey@3831
   627
    *** Failers
skamonkey@3831
   628
    fthing
skamonkey@3831
   629
    [thing
skamonkey@3831
   630
    \\thing
skamonkey@3831
   631
skamonkey@3831
   632
/^[]cde]/
skamonkey@3831
   633
    ]thing
skamonkey@3831
   634
    cthing
skamonkey@3831
   635
    dthing
skamonkey@3831
   636
    ething
skamonkey@3831
   637
    *** Failers
skamonkey@3831
   638
    athing
skamonkey@3831
   639
    fthing
skamonkey@3831
   640
skamonkey@3831
   641
/^[^ab\]cde]/
skamonkey@3831
   642
    fthing
skamonkey@3831
   643
    [thing
skamonkey@3831
   644
    \\thing
skamonkey@3831
   645
    *** Failers
skamonkey@3831
   646
    athing
skamonkey@3831
   647
    bthing
skamonkey@3831
   648
    ]thing
skamonkey@3831
   649
    cthing
skamonkey@3831
   650
    dthing
skamonkey@3831
   651
    ething
skamonkey@3831
   652
skamonkey@3831
   653
/^[^]cde]/
skamonkey@3831
   654
    athing
skamonkey@3831
   655
    fthing
skamonkey@3831
   656
    *** Failers
skamonkey@3831
   657
    ]thing
skamonkey@3831
   658
    cthing
skamonkey@3831
   659
    dthing
skamonkey@3831
   660
    ething
skamonkey@3831
   661
skamonkey@3831
   662
/^\�/
skamonkey@3831
   663
    �
skamonkey@3831
   664
skamonkey@3831
   665
/^�/
skamonkey@3831
   666
    �
skamonkey@3831
   667
skamonkey@3831
   668
/^[0-9]+$/
skamonkey@3831
   669
    0
skamonkey@3831
   670
    1
skamonkey@3831
   671
    2
skamonkey@3831
   672
    3
skamonkey@3831
   673
    4
skamonkey@3831
   674
    5
skamonkey@3831
   675
    6
skamonkey@3831
   676
    7
skamonkey@3831
   677
    8
skamonkey@3831
   678
    9
skamonkey@3831
   679
    10
skamonkey@3831
   680
    100
skamonkey@3831
   681
    *** Failers
skamonkey@3831
   682
    abc
skamonkey@3831
   683
skamonkey@3831
   684
/^.*nter/
skamonkey@3831
   685
    enter
skamonkey@3831
   686
    inter
skamonkey@3831
   687
    uponter
skamonkey@3831
   688
skamonkey@3831
   689
/^xxx[0-9]+$/
skamonkey@3831
   690
    xxx0
skamonkey@3831
   691
    xxx1234
skamonkey@3831
   692
    *** Failers
skamonkey@3831
   693
    xxx
skamonkey@3831
   694
skamonkey@3831
   695
/^.+[0-9][0-9][0-9]$/
skamonkey@3831
   696
    x123
skamonkey@3831
   697
    xx123
skamonkey@3831
   698
    123456
skamonkey@3831
   699
    *** Failers
skamonkey@3831
   700
    123
skamonkey@3831
   701
    x1234
skamonkey@3831
   702
skamonkey@3831
   703
/^.+?[0-9][0-9][0-9]$/
skamonkey@3831
   704
    x123
skamonkey@3831
   705
    xx123
skamonkey@3831
   706
    123456
skamonkey@3831
   707
    *** Failers
skamonkey@3831
   708
    123
skamonkey@3831
   709
    x1234
skamonkey@3831
   710
skamonkey@3831
   711
/^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
skamonkey@3831
   712
    abc!pqr=apquxz.ixr.zzz.ac.uk
dvander@2762
   713
    *** Failers
skamonkey@3831
   714
    !pqr=apquxz.ixr.zzz.ac.uk
skamonkey@3831
   715
    abc!=apquxz.ixr.zzz.ac.uk
skamonkey@3831
   716
    abc!pqr=apquxz:ixr.zzz.ac.uk
skamonkey@3831
   717
    abc!pqr=apquxz.ixr.zzz.ac.ukk
skamonkey@3831
   718
skamonkey@3831
   719
/:/
skamonkey@3831
   720
    Well, we need a colon: somewhere
skamonkey@3831
   721
    *** Fail if we don't
skamonkey@3831
   722
skamonkey@3831
   723
/([\da-f:]+)$/i
skamonkey@3831
   724
    0abc
skamonkey@3831
   725
    abc
skamonkey@3831
   726
    fed
skamonkey@3831
   727
    E
skamonkey@3831
   728
    ::
skamonkey@3831
   729
    5f03:12C0::932e
skamonkey@3831
   730
    fed def
skamonkey@3831
   731
    Any old stuff
skamonkey@3831
   732
    *** Failers
skamonkey@3831
   733
    0zzz
skamonkey@3831
   734
    gzzz
skamonkey@3831
   735
    fed\x20
skamonkey@3831
   736
    Any old rubbish
skamonkey@3831
   737
skamonkey@3831
   738
/^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
skamonkey@3831
   739
    .1.2.3
skamonkey@3831
   740
    A.12.123.0
skamonkey@3831
   741
    *** Failers
skamonkey@3831
   742
    .1.2.3333
skamonkey@3831
   743
    1.2.3
skamonkey@3831
   744
    1234.2.3
skamonkey@3831
   745
skamonkey@3831
   746
/^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
skamonkey@3831
   747
    1 IN SOA non-sp1 non-sp2(
skamonkey@3831
   748
    1    IN    SOA    non-sp1    non-sp2   (
skamonkey@3831
   749
    *** Failers
skamonkey@3831
   750
    1IN SOA non-sp1 non-sp2(
skamonkey@3831
   751
skamonkey@3831
   752
/^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
skamonkey@3831
   753
    a.
skamonkey@3831
   754
    Z.
skamonkey@3831
   755
    2.
skamonkey@3831
   756
    ab-c.pq-r.
skamonkey@3831
   757
    sxk.zzz.ac.uk.
skamonkey@3831
   758
    x-.y-.
skamonkey@3831
   759
    *** Failers
skamonkey@3831
   760
    -abc.peq.
skamonkey@3831
   761
skamonkey@3831
   762
/^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
skamonkey@3831
   763
    *.a
skamonkey@3831
   764
    *.b0-a
skamonkey@3831
   765
    *.c3-b.c
skamonkey@3831
   766
    *.c-a.b-c
skamonkey@3831
   767
    *** Failers
skamonkey@3831
   768
    *.0
skamonkey@3831
   769
    *.a-
skamonkey@3831
   770
    *.a-b.c-
skamonkey@3831
   771
    *.c-a.0-c
skamonkey@3831
   772
skamonkey@3831
   773
/^(?=ab(de))(abd)(e)/
skamonkey@3831
   774
    abde
skamonkey@3831
   775
skamonkey@3831
   776
/^(?!(ab)de|x)(abd)(f)/
skamonkey@3831
   777
    abdf
skamonkey@3831
   778
skamonkey@3831
   779
/^(?=(ab(cd)))(ab)/
skamonkey@3831
   780
    abcd
skamonkey@3831
   781
skamonkey@3831
   782
/^[\da-f](\.[\da-f])*$/i
skamonkey@3831
   783
    a.b.c.d
skamonkey@3831
   784
    A.B.C.D
skamonkey@3831
   785
    a.b.c.1.2.3.C
skamonkey@3831
   786
skamonkey@3831
   787
/^\".*\"\s*(;.*)?$/
skamonkey@3831
   788
    \"1234\"
skamonkey@3831
   789
    \"abcd\" ;
skamonkey@3831
   790
    \"\" ; rhubarb
skamonkey@3831
   791
    *** Failers
skamonkey@3831
   792
    \"1234\" : things
skamonkey@3831
   793
skamonkey@3831
   794
/^$/
skamonkey@3831
   795
    \
skamonkey@3831
   796
    *** Failers
skamonkey@3831
   797
skamonkey@3831
   798
/   ^    a   (?# begins with a)  b\sc (?# then b c) $ (?# then end)/x
skamonkey@3831
   799
    ab c
skamonkey@3831
   800
    *** Failers
skamonkey@3831
   801
    abc
skamonkey@3831
   802
    ab cde
skamonkey@3831
   803
skamonkey@3831
   804
/(?x)   ^    a   (?# begins with a)  b\sc (?# then b c) $ (?# then end)/
skamonkey@3831
   805
    ab c
skamonkey@3831
   806
    *** Failers
skamonkey@3831
   807
    abc
skamonkey@3831
   808
    ab cde
skamonkey@3831
   809
skamonkey@3831
   810
/^   a\ b[c ]d       $/x
skamonkey@3831
   811
    a bcd
skamonkey@3831
   812
    a b d
skamonkey@3831
   813
    *** Failers
skamonkey@3831
   814
    abcd
skamonkey@3831
   815
    ab d
skamonkey@3831
   816
skamonkey@3831
   817
/^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
skamonkey@3831
   818
    abcdefhijklm
skamonkey@3831
   819
skamonkey@3831
   820
/^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
skamonkey@3831
   821
    abcdefhijklm
skamonkey@3831
   822
skamonkey@3831
   823
/^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
skamonkey@3831
   824
    a+ Z0+\x08\n\x1d\x12
skamonkey@3831
   825
skamonkey@3831
   826
/^[.^$|()*+?{,}]+/
skamonkey@3831
   827
    .^\$(*+)|{?,?}
skamonkey@3831
   828
skamonkey@3831
   829
/^a*\w/
skamonkey@3831
   830
    z
skamonkey@3831
   831
    az
skamonkey@3831
   832
    aaaz
skamonkey@3831
   833
    a
skamonkey@3831
   834
    aa
skamonkey@3831
   835
    aaaa
skamonkey@3831
   836
    a+
skamonkey@3831
   837
    aa+
skamonkey@3831
   838
skamonkey@3831
   839
/^a*?\w/
skamonkey@3831
   840
    z
skamonkey@3831
   841
    az
skamonkey@3831
   842
    aaaz
skamonkey@3831
   843
    a
skamonkey@3831
   844
    aa
skamonkey@3831
   845
    aaaa
skamonkey@3831
   846
    a+
skamonkey@3831
   847
    aa+
skamonkey@3831
   848
skamonkey@3831
   849
/^a+\w/
skamonkey@3831
   850
    az
skamonkey@3831
   851
    aaaz
skamonkey@3831
   852
    aa
skamonkey@3831
   853
    aaaa
skamonkey@3831
   854
    aa+
skamonkey@3831
   855
skamonkey@3831
   856
/^a+?\w/
skamonkey@3831
   857
    az
skamonkey@3831
   858
    aaaz
skamonkey@3831
   859
    aa
skamonkey@3831
   860
    aaaa
skamonkey@3831
   861
    aa+
skamonkey@3831
   862
skamonkey@3831
   863
/^\d{8}\w{2,}/
skamonkey@3831
   864
    1234567890
skamonkey@3831
   865
    12345678ab
skamonkey@3831
   866
    12345678__
skamonkey@3831
   867
    *** Failers
skamonkey@3831
   868
    1234567
skamonkey@3831
   869
skamonkey@3831
   870
/^[aeiou\d]{4,5}$/
skamonkey@3831
   871
    uoie
skamonkey@3831
   872
    1234
skamonkey@3831
   873
    12345
skamonkey@3831
   874
    aaaaa
skamonkey@3831
   875
    *** Failers
skamonkey@3831
   876
    123456
skamonkey@3831
   877
skamonkey@3831
   878
/^[aeiou\d]{4,5}?/
skamonkey@3831
   879
    uoie
skamonkey@3831
   880
    1234
skamonkey@3831
   881
    12345
skamonkey@3831
   882
    aaaaa
skamonkey@3831
   883
    123456
skamonkey@3831
   884
skamonkey@3831
   885
/^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/
skamonkey@3831
   886
    From abcd  Mon Sep 01 12:33:02 1997
skamonkey@3831
   887
skamonkey@3831
   888
/^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
skamonkey@3831
   889
    From abcd  Mon Sep 01 12:33:02 1997
skamonkey@3831
   890
    From abcd  Mon Sep  1 12:33:02 1997
skamonkey@3831
   891
    *** Failers
skamonkey@3831
   892
    From abcd  Sep 01 12:33:02 1997
skamonkey@3831
   893
skamonkey@3831
   894
/^12.34/s
skamonkey@3831
   895
    12\n34
skamonkey@3831
   896
    12\r34
skamonkey@3831
   897
skamonkey@3831
   898
/\w+(?=\t)/
skamonkey@3831
   899
    the quick brown\t fox
skamonkey@3831
   900
skamonkey@3831
   901
/foo(?!bar)(.*)/
skamonkey@3831
   902
    foobar is foolish see?
skamonkey@3831
   903
skamonkey@3831
   904
/(?:(?!foo)...|^.{0,2})bar(.*)/
skamonkey@3831
   905
    foobar crowbar etc
skamonkey@3831
   906
    barrel
skamonkey@3831
   907
    2barrel
skamonkey@3831
   908
    A barrel
skamonkey@3831
   909
skamonkey@3831
   910
/^(\D*)(?=\d)(?!123)/
skamonkey@3831
   911
    abc456
skamonkey@3831
   912
    *** Failers
skamonkey@3831
   913
    abc123
skamonkey@3831
   914
skamonkey@3831
   915
/^1234(?# test newlines
skamonkey@3831
   916
  inside)/
skamonkey@3831
   917
    1234
skamonkey@3831
   918
skamonkey@3831
   919
/^1234 #comment in extended re
skamonkey@3831
   920
  /x
skamonkey@3831
   921
    1234
skamonkey@3831
   922
skamonkey@3831
   923
/#rhubarb
skamonkey@3831
   924
  abcd/x
skamonkey@3831
   925
    abcd
skamonkey@3831
   926
skamonkey@3831
   927
/^abcd#rhubarb/x
skamonkey@3831
   928
    abcd
skamonkey@3831
   929
skamonkey@3831
   930
/(?!^)abc/
skamonkey@3831
   931
    the abc
dvander@2762
   932
    *** Failers
skamonkey@3831
   933
    abc
skamonkey@3831
   934
skamonkey@3831
   935
/(?=^)abc/
skamonkey@3831
   936
    abc
dvander@2762
   937
    *** Failers
skamonkey@3831
   938
    the abc
skamonkey@3831
   939
skamonkey@3831
   940
/^[ab]{1,3}(ab*|b)/
skamonkey@3831
   941
    aabbbbb
skamonkey@3831
   942
skamonkey@3831
   943
/^[ab]{1,3}?(ab*|b)/
skamonkey@3831
   944
    aabbbbb
skamonkey@3831
   945
skamonkey@3831
   946
/^[ab]{1,3}?(ab*?|b)/
skamonkey@3831
   947
    aabbbbb
skamonkey@3831
   948
skamonkey@3831
   949
/^[ab]{1,3}(ab*?|b)/
skamonkey@3831
   950
    aabbbbb
skamonkey@3831
   951
skamonkey@3831
   952
/  (?: [\040\t] |  \(
skamonkey@3831
   953
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
   954
\)  )*                          # optional leading comment
skamonkey@3831
   955
(?:    (?:
skamonkey@3831
   956
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
   957
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
   958
|
skamonkey@3831
   959
" (?:                      # opening quote...
skamonkey@3831
   960
[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
skamonkey@3831
   961
|                     #    or
skamonkey@3831
   962
\\ [^\x80-\xff]           #   Escaped something (something != CR)
skamonkey@3831
   963
)* "  # closing quote
skamonkey@3831
   964
)                    # initial word
skamonkey@3831
   965
(?:  (?: [\040\t] |  \(
skamonkey@3831
   966
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
   967
\)  )*  \.  (?: [\040\t] |  \(
skamonkey@3831
   968
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
   969
\)  )*   (?:
skamonkey@3831
   970
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
   971
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
   972
|
skamonkey@3831
   973
" (?:                      # opening quote...
skamonkey@3831
   974
[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
skamonkey@3831
   975
|                     #    or
skamonkey@3831
   976
\\ [^\x80-\xff]           #   Escaped something (something != CR)
skamonkey@3831
   977
)* "  # closing quote
skamonkey@3831
   978
)  )* # further okay, if led by a period
skamonkey@3831
   979
(?: [\040\t] |  \(
skamonkey@3831
   980
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
   981
\)  )*  @  (?: [\040\t] |  \(
skamonkey@3831
   982
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
   983
\)  )*    (?:
skamonkey@3831
   984
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
   985
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
   986
|   \[                         # [
skamonkey@3831
   987
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
   988
\]                        #           ]
skamonkey@3831
   989
)                           # initial subdomain
skamonkey@3831
   990
(?:                                  #
skamonkey@3831
   991
(?: [\040\t] |  \(
skamonkey@3831
   992
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
   993
\)  )*  \.                        # if led by a period...
skamonkey@3831
   994
(?: [\040\t] |  \(
skamonkey@3831
   995
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
   996
\)  )*   (?:
skamonkey@3831
   997
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
   998
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
   999
|   \[                         # [
skamonkey@3831
  1000
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
  1001
\]                        #           ]
skamonkey@3831
  1002
)                     #   ...further okay
skamonkey@3831
  1003
)*
skamonkey@3831
  1004
# address
skamonkey@3831
  1005
|                     #  or
skamonkey@3831
  1006
(?:
skamonkey@3831
  1007
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1008
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1009
|
skamonkey@3831
  1010
" (?:                      # opening quote...
skamonkey@3831
  1011
[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
skamonkey@3831
  1012
|                     #    or
skamonkey@3831
  1013
\\ [^\x80-\xff]           #   Escaped something (something != CR)
skamonkey@3831
  1014
)* "  # closing quote
skamonkey@3831
  1015
)             # one word, optionally followed by....
skamonkey@3831
  1016
(?:
skamonkey@3831
  1017
[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
skamonkey@3831
  1018
\(
skamonkey@3831
  1019
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1020
\)       |  # comments, or...
skamonkey@3831
  1021
skamonkey@3831
  1022
" (?:                      # opening quote...
skamonkey@3831
  1023
[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
skamonkey@3831
  1024
|                     #    or
skamonkey@3831
  1025
\\ [^\x80-\xff]           #   Escaped something (something != CR)
skamonkey@3831
  1026
)* "  # closing quote
skamonkey@3831
  1027
# quoted strings
skamonkey@3831
  1028
)*
skamonkey@3831
  1029
<  (?: [\040\t] |  \(
skamonkey@3831
  1030
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1031
\)  )*                     # leading <
skamonkey@3831
  1032
(?:  @  (?: [\040\t] |  \(
skamonkey@3831
  1033
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1034
\)  )*    (?:
skamonkey@3831
  1035
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1036
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1037
|   \[                         # [
skamonkey@3831
  1038
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
  1039
\]                        #           ]
skamonkey@3831
  1040
)                           # initial subdomain
skamonkey@3831
  1041
(?:                                  #
skamonkey@3831
  1042
(?: [\040\t] |  \(
skamonkey@3831
  1043
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1044
\)  )*  \.                        # if led by a period...
skamonkey@3831
  1045
(?: [\040\t] |  \(
skamonkey@3831
  1046
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1047
\)  )*   (?:
skamonkey@3831
  1048
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1049
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1050
|   \[                         # [
skamonkey@3831
  1051
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
  1052
\]                        #           ]
skamonkey@3831
  1053
)                     #   ...further okay
skamonkey@3831
  1054
)*
skamonkey@3831
  1055
skamonkey@3831
  1056
(?:  (?: [\040\t] |  \(
skamonkey@3831
  1057
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1058
\)  )*  ,  (?: [\040\t] |  \(
skamonkey@3831
  1059
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1060
\)  )*  @  (?: [\040\t] |  \(
skamonkey@3831
  1061
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1062
\)  )*    (?:
skamonkey@3831
  1063
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1064
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1065
|   \[                         # [
skamonkey@3831
  1066
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
  1067
\]                        #           ]
skamonkey@3831
  1068
)                           # initial subdomain
skamonkey@3831
  1069
(?:                                  #
skamonkey@3831
  1070
(?: [\040\t] |  \(
skamonkey@3831
  1071
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1072
\)  )*  \.                        # if led by a period...
skamonkey@3831
  1073
(?: [\040\t] |  \(
skamonkey@3831
  1074
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1075
\)  )*   (?:
skamonkey@3831
  1076
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1077
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1078
|   \[                         # [
skamonkey@3831
  1079
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
  1080
\]                        #           ]
skamonkey@3831
  1081
)                     #   ...further okay
skamonkey@3831
  1082
)*
skamonkey@3831
  1083
)* # further okay, if led by comma
skamonkey@3831
  1084
:                                # closing colon
skamonkey@3831
  1085
(?: [\040\t] |  \(
skamonkey@3831
  1086
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1087
\)  )*  )? #       optional route
skamonkey@3831
  1088
(?:
skamonkey@3831
  1089
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1090
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1091
|
skamonkey@3831
  1092
" (?:                      # opening quote...
skamonkey@3831
  1093
[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
skamonkey@3831
  1094
|                     #    or
skamonkey@3831
  1095
\\ [^\x80-\xff]           #   Escaped something (something != CR)
skamonkey@3831
  1096
)* "  # closing quote
skamonkey@3831
  1097
)                    # initial word
skamonkey@3831
  1098
(?:  (?: [\040\t] |  \(
skamonkey@3831
  1099
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1100
\)  )*  \.  (?: [\040\t] |  \(
skamonkey@3831
  1101
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1102
\)  )*   (?:
skamonkey@3831
  1103
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1104
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1105
|
skamonkey@3831
  1106
" (?:                      # opening quote...
skamonkey@3831
  1107
[^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
skamonkey@3831
  1108
|                     #    or
skamonkey@3831
  1109
\\ [^\x80-\xff]           #   Escaped something (something != CR)
skamonkey@3831
  1110
)* "  # closing quote
skamonkey@3831
  1111
)  )* # further okay, if led by a period
skamonkey@3831
  1112
(?: [\040\t] |  \(
skamonkey@3831
  1113
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1114
\)  )*  @  (?: [\040\t] |  \(
skamonkey@3831
  1115
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1116
\)  )*    (?:
skamonkey@3831
  1117
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1118
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1119
|   \[                         # [
skamonkey@3831
  1120
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
  1121
\]                        #           ]
skamonkey@3831
  1122
)                           # initial subdomain
skamonkey@3831
  1123
(?:                                  #
skamonkey@3831
  1124
(?: [\040\t] |  \(
skamonkey@3831
  1125
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1126
\)  )*  \.                        # if led by a period...
skamonkey@3831
  1127
(?: [\040\t] |  \(
skamonkey@3831
  1128
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1129
\)  )*   (?:
skamonkey@3831
  1130
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1131
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1132
|   \[                         # [
skamonkey@3831
  1133
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
skamonkey@3831
  1134
\]                        #           ]
skamonkey@3831
  1135
)                     #   ...further okay
skamonkey@3831
  1136
)*
skamonkey@3831
  1137
#       address spec
skamonkey@3831
  1138
(?: [\040\t] |  \(
skamonkey@3831
  1139
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1140
\)  )*  > #                  trailing >
skamonkey@3831
  1141
# name and address
skamonkey@3831
  1142
)  (?: [\040\t] |  \(
skamonkey@3831
  1143
(?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
skamonkey@3831
  1144
\)  )*                       # optional trailing comment
skamonkey@3831
  1145
/x
skamonkey@3831
  1146
    Alan Other <user\@dom.ain>
skamonkey@3831
  1147
    <user\@dom.ain>
skamonkey@3831
  1148
    user\@dom.ain
skamonkey@3831
  1149
    \"A. Other\" <user.1234\@dom.ain> (a comment)
skamonkey@3831
  1150
    A. Other <user.1234\@dom.ain> (a comment)
skamonkey@3831
  1151
    \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
skamonkey@3831
  1152
    A missing angle <user\@some.where
dvander@2762
  1153
    *** Failers
skamonkey@3831
  1154
    The quick brown fox
skamonkey@3831
  1155
skamonkey@3831
  1156
/[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1157
(?:
skamonkey@3831
  1158
\(                              #  (
skamonkey@3831
  1159
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1160
(?:                                 #       (
skamonkey@3831
  1161
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1162
\(                            #  (
skamonkey@3831
  1163
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1164
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1165
\)                           #                       )
skamonkey@3831
  1166
)    #         special
skamonkey@3831
  1167
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1168
)*                                  #            )*
skamonkey@3831
  1169
\)                             #                )
skamonkey@3831
  1170
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1171
# optional leading comment
skamonkey@3831
  1172
(?:
skamonkey@3831
  1173
(?:
skamonkey@3831
  1174
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1175
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1176
# Atom
skamonkey@3831
  1177
|                       #  or
skamonkey@3831
  1178
"                                     # "
skamonkey@3831
  1179
[^\\\x80-\xff\n\015"] *                            #   normal
skamonkey@3831
  1180
(?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
skamonkey@3831
  1181
"                                     #        "
skamonkey@3831
  1182
# Quoted string
skamonkey@3831
  1183
)
skamonkey@3831
  1184
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1185
(?:
skamonkey@3831
  1186
\(                              #  (
skamonkey@3831
  1187
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1188
(?:                                 #       (
skamonkey@3831
  1189
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1190
\(                            #  (
skamonkey@3831
  1191
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1192
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1193
\)                           #                       )
skamonkey@3831
  1194
)    #         special
skamonkey@3831
  1195
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1196
)*                                  #            )*
skamonkey@3831
  1197
\)                             #                )
skamonkey@3831
  1198
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1199
(?:
skamonkey@3831
  1200
\.
skamonkey@3831
  1201
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1202
(?:
skamonkey@3831
  1203
\(                              #  (
skamonkey@3831
  1204
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1205
(?:                                 #       (
skamonkey@3831
  1206
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1207
\(                            #  (
skamonkey@3831
  1208
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1209
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1210
\)                           #                       )
skamonkey@3831
  1211
)    #         special
skamonkey@3831
  1212
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1213
)*                                  #            )*
skamonkey@3831
  1214
\)                             #                )
skamonkey@3831
  1215
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1216
(?:
skamonkey@3831
  1217
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1218
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1219
# Atom
skamonkey@3831
  1220
|                       #  or
skamonkey@3831
  1221
"                                     # "
skamonkey@3831
  1222
[^\\\x80-\xff\n\015"] *                            #   normal
skamonkey@3831
  1223
(?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
skamonkey@3831
  1224
"                                     #        "
skamonkey@3831
  1225
# Quoted string
skamonkey@3831
  1226
)
skamonkey@3831
  1227
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1228
(?:
skamonkey@3831
  1229
\(                              #  (
skamonkey@3831
  1230
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1231
(?:                                 #       (
skamonkey@3831
  1232
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1233
\(                            #  (
skamonkey@3831
  1234
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1235
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1236
\)                           #                       )
skamonkey@3831
  1237
)    #         special
skamonkey@3831
  1238
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1239
)*                                  #            )*
skamonkey@3831
  1240
\)                             #                )
skamonkey@3831
  1241
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1242
# additional words
skamonkey@3831
  1243
)*
skamonkey@3831
  1244
@
skamonkey@3831
  1245
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1246
(?:
skamonkey@3831
  1247
\(                              #  (
skamonkey@3831
  1248
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1249
(?:                                 #       (
skamonkey@3831
  1250
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1251
\(                            #  (
skamonkey@3831
  1252
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1253
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1254
\)                           #                       )
skamonkey@3831
  1255
)    #         special
skamonkey@3831
  1256
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1257
)*                                  #            )*
skamonkey@3831
  1258
\)                             #                )
skamonkey@3831
  1259
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1260
(?:
skamonkey@3831
  1261
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1262
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1263
|
skamonkey@3831
  1264
\[                            # [
skamonkey@3831
  1265
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1266
\]                           #           ]
skamonkey@3831
  1267
)
skamonkey@3831
  1268
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1269
(?:
skamonkey@3831
  1270
\(                              #  (
skamonkey@3831
  1271
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1272
(?:                                 #       (
skamonkey@3831
  1273
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1274
\(                            #  (
skamonkey@3831
  1275
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1276
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1277
\)                           #                       )
skamonkey@3831
  1278
)    #         special
skamonkey@3831
  1279
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1280
)*                                  #            )*
skamonkey@3831
  1281
\)                             #                )
skamonkey@3831
  1282
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1283
# optional trailing comments
skamonkey@3831
  1284
(?:
skamonkey@3831
  1285
\.
skamonkey@3831
  1286
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1287
(?:
skamonkey@3831
  1288
\(                              #  (
skamonkey@3831
  1289
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1290
(?:                                 #       (
skamonkey@3831
  1291
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1292
\(                            #  (
skamonkey@3831
  1293
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1294
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1295
\)                           #                       )
skamonkey@3831
  1296
)    #         special
skamonkey@3831
  1297
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1298
)*                                  #            )*
skamonkey@3831
  1299
\)                             #                )
skamonkey@3831
  1300
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1301
(?:
skamonkey@3831
  1302
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1303
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1304
|
skamonkey@3831
  1305
\[                            # [
skamonkey@3831
  1306
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1307
\]                           #           ]
skamonkey@3831
  1308
)
skamonkey@3831
  1309
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1310
(?:
skamonkey@3831
  1311
\(                              #  (
skamonkey@3831
  1312
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1313
(?:                                 #       (
skamonkey@3831
  1314
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1315
\(                            #  (
skamonkey@3831
  1316
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1317
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1318
\)                           #                       )
skamonkey@3831
  1319
)    #         special
skamonkey@3831
  1320
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1321
)*                                  #            )*
skamonkey@3831
  1322
\)                             #                )
skamonkey@3831
  1323
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1324
# optional trailing comments
skamonkey@3831
  1325
)*
skamonkey@3831
  1326
# address
skamonkey@3831
  1327
|                             #  or
skamonkey@3831
  1328
(?:
skamonkey@3831
  1329
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1330
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1331
# Atom
skamonkey@3831
  1332
|                       #  or
skamonkey@3831
  1333
"                                     # "
skamonkey@3831
  1334
[^\\\x80-\xff\n\015"] *                            #   normal
skamonkey@3831
  1335
(?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
skamonkey@3831
  1336
"                                     #        "
skamonkey@3831
  1337
# Quoted string
skamonkey@3831
  1338
)
skamonkey@3831
  1339
# leading word
skamonkey@3831
  1340
[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] *               # "normal" atoms and or spaces
skamonkey@3831
  1341
(?:
skamonkey@3831
  1342
(?:
skamonkey@3831
  1343
\(                              #  (
skamonkey@3831
  1344
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1345
(?:                                 #       (
skamonkey@3831
  1346
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1347
\(                            #  (
skamonkey@3831
  1348
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1349
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1350
\)                           #                       )
skamonkey@3831
  1351
)    #         special
skamonkey@3831
  1352
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1353
)*                                  #            )*
skamonkey@3831
  1354
\)                             #                )
skamonkey@3831
  1355
|
skamonkey@3831
  1356
"                                     # "
skamonkey@3831
  1357
[^\\\x80-\xff\n\015"] *                            #   normal
skamonkey@3831
  1358
(?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
skamonkey@3831
  1359
"                                     #        "
skamonkey@3831
  1360
) # "special" comment or quoted string
skamonkey@3831
  1361
[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] *            #  more "normal"
skamonkey@3831
  1362
)*
skamonkey@3831
  1363
<
skamonkey@3831
  1364
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1365
(?:
skamonkey@3831
  1366
\(                              #  (
skamonkey@3831
  1367
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1368
(?:                                 #       (
skamonkey@3831
  1369
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1370
\(                            #  (
skamonkey@3831
  1371
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1372
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1373
\)                           #                       )
skamonkey@3831
  1374
)    #         special
skamonkey@3831
  1375
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1376
)*                                  #            )*
skamonkey@3831
  1377
\)                             #                )
skamonkey@3831
  1378
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1379
# <
skamonkey@3831
  1380
(?:
skamonkey@3831
  1381
@
skamonkey@3831
  1382
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1383
(?:
skamonkey@3831
  1384
\(                              #  (
skamonkey@3831
  1385
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1386
(?:                                 #       (
skamonkey@3831
  1387
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1388
\(                            #  (
skamonkey@3831
  1389
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1390
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1391
\)                           #                       )
skamonkey@3831
  1392
)    #         special
skamonkey@3831
  1393
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1394
)*                                  #            )*
skamonkey@3831
  1395
\)                             #                )
skamonkey@3831
  1396
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1397
(?:
skamonkey@3831
  1398
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1399
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1400
|
skamonkey@3831
  1401
\[                            # [
skamonkey@3831
  1402
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1403
\]                           #           ]
skamonkey@3831
  1404
)
skamonkey@3831
  1405
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1406
(?:
skamonkey@3831
  1407
\(                              #  (
skamonkey@3831
  1408
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1409
(?:                                 #       (
skamonkey@3831
  1410
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1411
\(                            #  (
skamonkey@3831
  1412
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1413
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1414
\)                           #                       )
skamonkey@3831
  1415
)    #         special
skamonkey@3831
  1416
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1417
)*                                  #            )*
skamonkey@3831
  1418
\)                             #                )
skamonkey@3831
  1419
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1420
# optional trailing comments
skamonkey@3831
  1421
(?:
skamonkey@3831
  1422
\.
skamonkey@3831
  1423
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1424
(?:
skamonkey@3831
  1425
\(                              #  (
skamonkey@3831
  1426
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1427
(?:                                 #       (
skamonkey@3831
  1428
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1429
\(                            #  (
skamonkey@3831
  1430
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1431
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1432
\)                           #                       )
skamonkey@3831
  1433
)    #         special
skamonkey@3831
  1434
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1435
)*                                  #            )*
skamonkey@3831
  1436
\)                             #                )
skamonkey@3831
  1437
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1438
(?:
skamonkey@3831
  1439
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1440
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1441
|
skamonkey@3831
  1442
\[                            # [
skamonkey@3831
  1443
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1444
\]                           #           ]
skamonkey@3831
  1445
)
skamonkey@3831
  1446
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1447
(?:
skamonkey@3831
  1448
\(                              #  (
skamonkey@3831
  1449
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1450
(?:                                 #       (
skamonkey@3831
  1451
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1452
\(                            #  (
skamonkey@3831
  1453
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1454
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1455
\)                           #                       )
skamonkey@3831
  1456
)    #         special
skamonkey@3831
  1457
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1458
)*                                  #            )*
skamonkey@3831
  1459
\)                             #                )
skamonkey@3831
  1460
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1461
# optional trailing comments
skamonkey@3831
  1462
)*
skamonkey@3831
  1463
(?: ,
skamonkey@3831
  1464
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1465
(?:
skamonkey@3831
  1466
\(                              #  (
skamonkey@3831
  1467
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1468
(?:                                 #       (
skamonkey@3831
  1469
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1470
\(                            #  (
skamonkey@3831
  1471
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1472
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1473
\)                           #                       )
skamonkey@3831
  1474
)    #         special
skamonkey@3831
  1475
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1476
)*                                  #            )*
skamonkey@3831
  1477
\)                             #                )
skamonkey@3831
  1478
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1479
@
skamonkey@3831
  1480
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1481
(?:
skamonkey@3831
  1482
\(                              #  (
skamonkey@3831
  1483
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1484
(?:                                 #       (
skamonkey@3831
  1485
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1486
\(                            #  (
skamonkey@3831
  1487
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1488
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1489
\)                           #                       )
skamonkey@3831
  1490
)    #         special
skamonkey@3831
  1491
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1492
)*                                  #            )*
skamonkey@3831
  1493
\)                             #                )
skamonkey@3831
  1494
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1495
(?:
skamonkey@3831
  1496
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1497
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1498
|
skamonkey@3831
  1499
\[                            # [
skamonkey@3831
  1500
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1501
\]                           #           ]
skamonkey@3831
  1502
)
skamonkey@3831
  1503
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1504
(?:
skamonkey@3831
  1505
\(                              #  (
skamonkey@3831
  1506
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1507
(?:                                 #       (
skamonkey@3831
  1508
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1509
\(                            #  (
skamonkey@3831
  1510
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1511
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1512
\)                           #                       )
skamonkey@3831
  1513
)    #         special
skamonkey@3831
  1514
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1515
)*                                  #            )*
skamonkey@3831
  1516
\)                             #                )
skamonkey@3831
  1517
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1518
# optional trailing comments
skamonkey@3831
  1519
(?:
skamonkey@3831
  1520
\.
skamonkey@3831
  1521
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1522
(?:
skamonkey@3831
  1523
\(                              #  (
skamonkey@3831
  1524
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1525
(?:                                 #       (
skamonkey@3831
  1526
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1527
\(                            #  (
skamonkey@3831
  1528
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1529
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1530
\)                           #                       )
skamonkey@3831
  1531
)    #         special
skamonkey@3831
  1532
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1533
)*                                  #            )*
skamonkey@3831
  1534
\)                             #                )
skamonkey@3831
  1535
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1536
(?:
skamonkey@3831
  1537
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1538
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1539
|
skamonkey@3831
  1540
\[                            # [
skamonkey@3831
  1541
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1542
\]                           #           ]
skamonkey@3831
  1543
)
skamonkey@3831
  1544
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1545
(?:
skamonkey@3831
  1546
\(                              #  (
skamonkey@3831
  1547
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1548
(?:                                 #       (
skamonkey@3831
  1549
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1550
\(                            #  (
skamonkey@3831
  1551
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1552
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1553
\)                           #                       )
skamonkey@3831
  1554
)    #         special
skamonkey@3831
  1555
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1556
)*                                  #            )*
skamonkey@3831
  1557
\)                             #                )
skamonkey@3831
  1558
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1559
# optional trailing comments
skamonkey@3831
  1560
)*
skamonkey@3831
  1561
)*  # additional domains
skamonkey@3831
  1562
:
skamonkey@3831
  1563
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1564
(?:
skamonkey@3831
  1565
\(                              #  (
skamonkey@3831
  1566
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1567
(?:                                 #       (
skamonkey@3831
  1568
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1569
\(                            #  (
skamonkey@3831
  1570
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1571
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1572
\)                           #                       )
skamonkey@3831
  1573
)    #         special
skamonkey@3831
  1574
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1575
)*                                  #            )*
skamonkey@3831
  1576
\)                             #                )
skamonkey@3831
  1577
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1578
# optional trailing comments
skamonkey@3831
  1579
)?     #       optional route
skamonkey@3831
  1580
(?:
skamonkey@3831
  1581
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1582
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1583
# Atom
skamonkey@3831
  1584
|                       #  or
skamonkey@3831
  1585
"                                     # "
skamonkey@3831
  1586
[^\\\x80-\xff\n\015"] *                            #   normal
skamonkey@3831
  1587
(?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
skamonkey@3831
  1588
"                                     #        "
skamonkey@3831
  1589
# Quoted string
skamonkey@3831
  1590
)
skamonkey@3831
  1591
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1592
(?:
skamonkey@3831
  1593
\(                              #  (
skamonkey@3831
  1594
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1595
(?:                                 #       (
skamonkey@3831
  1596
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1597
\(                            #  (
skamonkey@3831
  1598
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1599
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1600
\)                           #                       )
skamonkey@3831
  1601
)    #         special
skamonkey@3831
  1602
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1603
)*                                  #            )*
skamonkey@3831
  1604
\)                             #                )
skamonkey@3831
  1605
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1606
(?:
skamonkey@3831
  1607
\.
skamonkey@3831
  1608
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1609
(?:
skamonkey@3831
  1610
\(                              #  (
skamonkey@3831
  1611
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1612
(?:                                 #       (
skamonkey@3831
  1613
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1614
\(                            #  (
skamonkey@3831
  1615
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1616
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1617
\)                           #                       )
skamonkey@3831
  1618
)    #         special
skamonkey@3831
  1619
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1620
)*                                  #            )*
skamonkey@3831
  1621
\)                             #                )
skamonkey@3831
  1622
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1623
(?:
skamonkey@3831
  1624
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1625
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1626
# Atom
skamonkey@3831
  1627
|                       #  or
skamonkey@3831
  1628
"                                     # "
skamonkey@3831
  1629
[^\\\x80-\xff\n\015"] *                            #   normal
skamonkey@3831
  1630
(?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
skamonkey@3831
  1631
"                                     #        "
skamonkey@3831
  1632
# Quoted string
skamonkey@3831
  1633
)
skamonkey@3831
  1634
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1635
(?:
skamonkey@3831
  1636
\(                              #  (
skamonkey@3831
  1637
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1638
(?:                                 #       (
skamonkey@3831
  1639
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1640
\(                            #  (
skamonkey@3831
  1641
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1642
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1643
\)                           #                       )
skamonkey@3831
  1644
)    #         special
skamonkey@3831
  1645
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1646
)*                                  #            )*
skamonkey@3831
  1647
\)                             #                )
skamonkey@3831
  1648
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1649
# additional words
skamonkey@3831
  1650
)*
skamonkey@3831
  1651
@
skamonkey@3831
  1652
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1653
(?:
skamonkey@3831
  1654
\(                              #  (
skamonkey@3831
  1655
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1656
(?:                                 #       (
skamonkey@3831
  1657
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1658
\(                            #  (
skamonkey@3831
  1659
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1660
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1661
\)                           #                       )
skamonkey@3831
  1662
)    #         special
skamonkey@3831
  1663
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1664
)*                                  #            )*
skamonkey@3831
  1665
\)                             #                )
skamonkey@3831
  1666
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1667
(?:
skamonkey@3831
  1668
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1669
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1670
|
skamonkey@3831
  1671
\[                            # [
skamonkey@3831
  1672
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1673
\]                           #           ]
skamonkey@3831
  1674
)
skamonkey@3831
  1675
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1676
(?:
skamonkey@3831
  1677
\(                              #  (
skamonkey@3831
  1678
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1679
(?:                                 #       (
skamonkey@3831
  1680
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1681
\(                            #  (
skamonkey@3831
  1682
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1683
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1684
\)                           #                       )
skamonkey@3831
  1685
)    #         special
skamonkey@3831
  1686
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1687
)*                                  #            )*
skamonkey@3831
  1688
\)                             #                )
skamonkey@3831
  1689
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1690
# optional trailing comments
skamonkey@3831
  1691
(?:
skamonkey@3831
  1692
\.
skamonkey@3831
  1693
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1694
(?:
skamonkey@3831
  1695
\(                              #  (
skamonkey@3831
  1696
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1697
(?:                                 #       (
skamonkey@3831
  1698
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1699
\(                            #  (
skamonkey@3831
  1700
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1701
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1702
\)                           #                       )
skamonkey@3831
  1703
)    #         special
skamonkey@3831
  1704
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1705
)*                                  #            )*
skamonkey@3831
  1706
\)                             #                )
skamonkey@3831
  1707
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1708
(?:
skamonkey@3831
  1709
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
skamonkey@3831
  1710
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
skamonkey@3831
  1711
|
skamonkey@3831
  1712
\[                            # [
skamonkey@3831
  1713
(?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
skamonkey@3831
  1714
\]                           #           ]
skamonkey@3831
  1715
)
skamonkey@3831
  1716
[\040\t]*                    # Nab whitespace.
skamonkey@3831
  1717
(?:
skamonkey@3831
  1718
\(                              #  (
skamonkey@3831
  1719
[^\\\x80-\xff\n\015()] *                             #     normal*
skamonkey@3831
  1720
(?:                                 #       (
skamonkey@3831
  1721
(?:  \\ [^\x80-\xff]  |
skamonkey@3831
  1722
\(                            #  (
skamonkey@3831
  1723
[^\\\x80-\xff\n\015()] *                            #     normal*
skamonkey@3831
  1724
(?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
skamonkey@3831
  1725
\)                           #                       )
skamonkey@3831
  1726
)    #         special
skamonkey@3831
  1727
[^\\\x80-\xff\n\015()] *                         #         normal*
skamonkey@3831
  1728
)*                                  #            )*
skamonkey@3831
  1729
\)                             #                )
skamonkey@3831
  1730
[\040\t]* )*    # If comment found, allow more spaces.
skamonkey@3831
  1731
# optional trailing comments
skamonkey@3831
  1732
)*
skamonkey@3831
  1733
#       address spec
skamonkey@3831
  1734
>                    #                 >
skamonkey@3831
  1735
# name and address
skamonkey@3831
  1736
)
skamonkey@3831
  1737
/x
skamonkey@3831
  1738
    Alan Other <user\@dom.ain>
skamonkey@3831
  1739
    <user\@dom.ain>
skamonkey@3831
  1740
    user\@dom.ain
skamonkey@3831
  1741
    \"A. Other\" <user.1234\@dom.ain> (a comment)
skamonkey@3831
  1742
    A. Other <user.1234\@dom.ain> (a comment)
skamonkey@3831
  1743
    \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
skamonkey@3831
  1744
    A missing angle <user\@some.where
dvander@2762
  1745
    *** Failers
skamonkey@3831
  1746
    The quick brown fox
skamonkey@3831
  1747
skamonkey@3831
  1748
/abc\0def\00pqr\000xyz\0000AB/
skamonkey@3831
  1749
    abc\0def\00pqr\000xyz\0000AB
skamonkey@3831
  1750
    abc456 abc\0def\00pqr\000xyz\0000ABCDE
skamonkey@3831
  1751
skamonkey@3831
  1752
/abc\x0def\x00pqr\x000xyz\x0000AB/
skamonkey@3831
  1753
    abc\x0def\x00pqr\x000xyz\x0000AB
skamonkey@3831
  1754
    abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
skamonkey@3831
  1755
skamonkey@3831
  1756
/^[\000-\037]/
skamonkey@3831
  1757
    \0A
skamonkey@3831
  1758
    \01B
skamonkey@3831
  1759
    \037C
skamonkey@3831
  1760
skamonkey@3831
  1761
/\0*/
skamonkey@3831
  1762
    \0\0\0\0
skamonkey@3831
  1763
skamonkey@3831
  1764
/A\x0{2,3}Z/
skamonkey@3831
  1765
    The A\x0\x0Z
skamonkey@3831
  1766
    An A\0\x0\0Z
skamonkey@3831
  1767
    *** Failers
skamonkey@3831
  1768
    A\0Z
skamonkey@3831
  1769
    A\0\x0\0\x0Z
skamonkey@3831
  1770
skamonkey@3831
  1771
/^\s/
skamonkey@3831
  1772
    \040abc
skamonkey@3831
  1773
    \x0cabc
skamonkey@3831
  1774
    \nabc
skamonkey@3831
  1775
    \rabc
skamonkey@3831
  1776
    \tabc
skamonkey@3831
  1777
    *** Failers
skamonkey@3831
  1778
    abc
skamonkey@3831
  1779
skamonkey@3831
  1780
/^a	b
skamonkey@3831
  1781
      c/x
skamonkey@3831
  1782
    abc
skamonkey@3831
  1783
skamonkey@3831
  1784
/ab{1,3}bc/
skamonkey@3831
  1785
    abbbbc
skamonkey@3831
  1786
    abbbc
skamonkey@3831
  1787
    abbc
skamonkey@3831
  1788
    *** Failers
skamonkey@3831
  1789
    abc
skamonkey@3831
  1790
    abbbbbc
skamonkey@3831
  1791
skamonkey@3831
  1792
/([^.]*)\.([^:]*):[T ]+(.*)/
skamonkey@3831
  1793
    track1.title:TBlah blah blah
skamonkey@3831
  1794
skamonkey@3831
  1795
/([^.]*)\.([^:]*):[T ]+(.*)/i
skamonkey@3831
  1796
    track1.title:TBlah blah blah
skamonkey@3831
  1797
skamonkey@3831
  1798
/([^.]*)\.([^:]*):[t ]+(.*)/i
skamonkey@3831
  1799
    track1.title:TBlah blah blah
skamonkey@3831
  1800
skamonkey@3831
  1801
/^[W-c]+$/
skamonkey@3831
  1802
    WXY_^abc
dvander@2762
  1803
    *** Failers
skamonkey@3831
  1804
    wxy
skamonkey@3831
  1805
skamonkey@3831
  1806
/^[W-c]+$/i
skamonkey@3831
  1807
    WXY_^abc
skamonkey@3831
  1808
    wxy_^ABC
skamonkey@3831
  1809
skamonkey@3831
  1810
/^[\x3f-\x5F]+$/i
skamonkey@3831
  1811
    WXY_^abc
skamonkey@3831
  1812
    wxy_^ABC
skamonkey@3831
  1813
skamonkey@3831
  1814
/^abc$/m
skamonkey@3831
  1815
    abc
skamonkey@3831
  1816
    qqq\nabc
skamonkey@3831
  1817
    abc\nzzz
skamonkey@3831
  1818
    qqq\nabc\nzzz
skamonkey@3831
  1819
skamonkey@3831
  1820
/^abc$/
skamonkey@3831
  1821
    abc
skamonkey@3831
  1822
    *** Failers
skamonkey@3831
  1823
    qqq\nabc
skamonkey@3831
  1824
    abc\nzzz
skamonkey@3831
  1825
    qqq\nabc\nzzz
skamonkey@3831
  1826
skamonkey@3831
  1827
/\Aabc\Z/m
skamonkey@3831
  1828
    abc
skamonkey@3831
  1829
    abc\n 
skamonkey@3831
  1830
    *** Failers
skamonkey@3831
  1831
    qqq\nabc
skamonkey@3831
  1832
    abc\nzzz
skamonkey@3831
  1833
    qqq\nabc\nzzz
skamonkey@3831
  1834
    
skamonkey@3831
  1835
/\A(.)*\Z/s
skamonkey@3831
  1836
    abc\ndef
skamonkey@3831
  1837
skamonkey@3831
  1838
/\A(.)*\Z/m
skamonkey@3831
  1839
    *** Failers
skamonkey@3831
  1840
    abc\ndef
skamonkey@3831
  1841
skamonkey@3831
  1842
/(?:b)|(?::+)/
skamonkey@3831
  1843
    b::c
skamonkey@3831
  1844
    c::b
skamonkey@3831
  1845
skamonkey@3831
  1846
/[-az]+/
skamonkey@3831
  1847
    az-
skamonkey@3831
  1848
    *** Failers
skamonkey@3831
  1849
    b
skamonkey@3831
  1850
skamonkey@3831
  1851
/[az-]+/
skamonkey@3831
  1852
    za-
skamonkey@3831
  1853
    *** Failers
skamonkey@3831
  1854
    b
skamonkey@3831
  1855
skamonkey@3831
  1856
/[a\-z]+/
skamonkey@3831
  1857
    a-z
skamonkey@3831
  1858
    *** Failers
skamonkey@3831
  1859
    b
skamonkey@3831
  1860
skamonkey@3831
  1861
/[a-z]+/
skamonkey@3831
  1862
    abcdxyz
skamonkey@3831
  1863
skamonkey@3831
  1864
/[\d-]+/
skamonkey@3831
  1865
    12-34
skamonkey@3831
  1866
    *** Failers
skamonkey@3831
  1867
    aaa
skamonkey@3831
  1868
skamonkey@3831
  1869
/[\d-z]+/
skamonkey@3831
  1870
    12-34z
skamonkey@3831
  1871
    *** Failers
skamonkey@3831
  1872
    aaa
skamonkey@3831
  1873
skamonkey@3831
  1874
/\x5c/
skamonkey@3831
  1875
    \\
skamonkey@3831
  1876
skamonkey@3831
  1877
/\x20Z/
skamonkey@3831
  1878
    the Zoo
dvander@2762
  1879
    *** Failers
skamonkey@3831
  1880
    Zulu
skamonkey@3831
  1881
skamonkey@3831
  1882
/ab{3cd/
skamonkey@3831
  1883
    ab{3cd
skamonkey@3831
  1884
skamonkey@3831
  1885
/ab{3,cd/
skamonkey@3831
  1886
    ab{3,cd
skamonkey@3831
  1887
skamonkey@3831
  1888
/ab{3,4a}cd/
skamonkey@3831
  1889
    ab{3,4a}cd
skamonkey@3831
  1890
skamonkey@3831
  1891
/{4,5a}bc/
skamonkey@3831
  1892
    {4,5a}bc
skamonkey@3831
  1893
skamonkey@3831
  1894
/^a.b/<lf>
skamonkey@3831
  1895
    a\rb
skamonkey@3831
  1896
    *** Failers
skamonkey@3831
  1897
    a\nb
skamonkey@3831
  1898
skamonkey@3831
  1899
/abc$/
skamonkey@3831
  1900
    abc
skamonkey@3831
  1901
    abc\n
dvander@2762
  1902
    *** Failers
skamonkey@3831
  1903
    abc\ndef
skamonkey@3831
  1904
skamonkey@3831
  1905
/(abc)\123/
skamonkey@3831
  1906
    abc\x53
skamonkey@3831
  1907
skamonkey@3831
  1908
/(abc)\223/
skamonkey@3831
  1909
    abc\x93
skamonkey@3831
  1910
skamonkey@3831
  1911
/(abc)\323/
skamonkey@3831
  1912
    abc\xd3
skamonkey@3831
  1913
skamonkey@3831
  1914
/(abc)\100/
skamonkey@3831
  1915
    abc\x40
skamonkey@3831
  1916
    abc\100
skamonkey@3831
  1917
skamonkey@3831
  1918
/(abc)\1000/
skamonkey@3831
  1919
    abc\x400
skamonkey@3831
  1920
    abc\x40\x30
skamonkey@3831
  1921
    abc\1000
skamonkey@3831
  1922
    abc\100\x30
skamonkey@3831
  1923
    abc\100\060
skamonkey@3831
  1924
    abc\100\60
skamonkey@3831
  1925
skamonkey@3831
  1926
/abc\81/
skamonkey@3831
  1927
    abc\081
skamonkey@3831
  1928
    abc\0\x38\x31
skamonkey@3831
  1929
skamonkey@3831
  1930
/abc\91/
skamonkey@3831
  1931
    abc\091
skamonkey@3831
  1932
    abc\0\x39\x31
skamonkey@3831
  1933
skamonkey@3831
  1934
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
skamonkey@3831
  1935
    abcdefghijk\12S
skamonkey@3831
  1936
skamonkey@3831
  1937
/ab\idef/
skamonkey@3831
  1938
    abidef
skamonkey@3831
  1939
skamonkey@3831
  1940
/a{0}bc/
skamonkey@3831
  1941
    bc
skamonkey@3831
  1942
skamonkey@3831
  1943
/(a|(bc)){0,0}?xyz/
skamonkey@3831
  1944
    xyz
skamonkey@3831
  1945
skamonkey@3831
  1946
/abc[\10]de/
skamonkey@3831
  1947
    abc\010de
skamonkey@3831
  1948
skamonkey@3831
  1949
/abc[\1]de/
skamonkey@3831
  1950
    abc\1de
skamonkey@3831
  1951
skamonkey@3831
  1952
/(abc)[\1]de/
skamonkey@3831
  1953
    abc\1de
skamonkey@3831
  1954
skamonkey@3831
  1955
/(?s)a.b/
skamonkey@3831
  1956
    a\nb
skamonkey@3831
  1957
skamonkey@3831
  1958
/^([^a])([^\b])([^c]*)([^d]{3,4})/
skamonkey@3831
  1959
    baNOTccccd
skamonkey@3831
  1960
    baNOTcccd
skamonkey@3831
  1961
    baNOTccd
skamonkey@3831
  1962
    bacccd
skamonkey@3831
  1963
    *** Failers
skamonkey@3831
  1964
    anything
skamonkey@3831
  1965
    b\bc   
skamonkey@3831
  1966
    baccd
skamonkey@3831
  1967
skamonkey@3831
  1968
/[^a]/
skamonkey@3831
  1969
    Abc
skamonkey@3831
  1970
  
skamonkey@3831
  1971
/[^a]/i
skamonkey@3831
  1972
    Abc 
skamonkey@3831
  1973
skamonkey@3831
  1974
/[^a]+/
skamonkey@3831
  1975
    AAAaAbc
skamonkey@3831
  1976
  
skamonkey@3831
  1977
/[^a]+/i
skamonkey@3831
  1978
    AAAaAbc 
skamonkey@3831
  1979
skamonkey@3831
  1980
/[^a]+/
skamonkey@3831
  1981
    bbb\nccc
skamonkey@3831
  1982
   
skamonkey@3831
  1983
/[^k]$/
skamonkey@3831
  1984
    abc
skamonkey@3831
  1985
    *** Failers
skamonkey@3831
  1986
    abk   
skamonkey@3831
  1987
   
skamonkey@3831
  1988
/[^k]{2,3}$/
skamonkey@3831
  1989
    abc
skamonkey@3831
  1990
    kbc
skamonkey@3831
  1991
    kabc 
skamonkey@3831
  1992
    *** Failers
skamonkey@3831
  1993
    abk
skamonkey@3831
  1994
    akb
skamonkey@3831
  1995
    akk 
skamonkey@3831
  1996
skamonkey@3831
  1997
/^\d{8,}\@.+[^k]$/
skamonkey@3831
  1998
    12345678\@a.b.c.d
skamonkey@3831
  1999
    123456789\@x.y.z
skamonkey@3831
  2000
    *** Failers
skamonkey@3831
  2001
    12345678\@x.y.uk
skamonkey@3831
  2002
    1234567\@a.b.c.d       
skamonkey@3831
  2003
skamonkey@3831
  2004
/[^a]/
skamonkey@3831
  2005
    aaaabcd
skamonkey@3831
  2006
    aaAabcd 
skamonkey@3831
  2007
skamonkey@3831
  2008
/[^a]/i
skamonkey@3831
  2009
    aaaabcd
skamonkey@3831
  2010
    aaAabcd 
skamonkey@3831
  2011
skamonkey@3831
  2012
/[^az]/
skamonkey@3831
  2013
    aaaabcd
skamonkey@3831
  2014
    aaAabcd 
skamonkey@3831
  2015
skamonkey@3831
  2016
/[^az]/i
skamonkey@3831
  2017
    aaaabcd
skamonkey@3831
  2018
    aaAabcd 
skamonkey@3831
  2019
skamonkey@3831
  2020
/\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/
skamonkey@3831
  2021
 \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377
skamonkey@3831
  2022
skamonkey@3831
  2023
/P[^*]TAIRE[^*]{1,6}?LL/
skamonkey@3831
  2024
    xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
skamonkey@3831
  2025
skamonkey@3831
  2026
/P[^*]TAIRE[^*]{1,}?LL/
skamonkey@3831
  2027
    xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
skamonkey@3831
  2028
skamonkey@3831
  2029
/(\.\d\d[1-9]?)\d+/
skamonkey@3831
  2030
    1.230003938
skamonkey@3831
  2031
    1.875000282   
skamonkey@3831
  2032
    1.235  
skamonkey@3831
  2033
                  
skamonkey@3831
  2034
/(\.\d\d((?=0)|\d(?=\d)))/
skamonkey@3831
  2035
    1.230003938      
skamonkey@3831
  2036
    1.875000282
dvander@2762
  2037
    *** Failers 
skamonkey@3831
  2038
    1.235 
skamonkey@3831
  2039
    
skamonkey@3831
  2040
/a(?)b/
skamonkey@3831
  2041
    ab 
skamonkey@3831
  2042
 
skamonkey@3831
  2043
/\b(foo)\s+(\w+)/i
skamonkey@3831
  2044
    Food is on the foo table
skamonkey@3831
  2045
    
skamonkey@3831
  2046
/foo(.*)bar/
skamonkey@3831
  2047
    The food is under the bar in the barn.
skamonkey@3831
  2048
    
skamonkey@3831
  2049
/foo(.*?)bar/  
skamonkey@3831
  2050
    The food is under the bar in the barn.
skamonkey@3831
  2051
skamonkey@3831
  2052
/(.*)(\d*)/
skamonkey@3831
  2053
    I have 2 numbers: 53147
skamonkey@3831
  2054
    
skamonkey@3831
  2055
/(.*)(\d+)/
skamonkey@3831
  2056
    I have 2 numbers: 53147
skamonkey@3831
  2057
 
skamonkey@3831
  2058
/(.*?)(\d*)/
skamonkey@3831
  2059
    I have 2 numbers: 53147
skamonkey@3831
  2060
skamonkey@3831
  2061
/(.*?)(\d+)/
skamonkey@3831
  2062
    I have 2 numbers: 53147
skamonkey@3831
  2063
skamonkey@3831
  2064
/(.*)(\d+)$/
skamonkey@3831
  2065
    I have 2 numbers: 53147
skamonkey@3831
  2066
skamonkey@3831
  2067
/(.*?)(\d+)$/
skamonkey@3831
  2068
    I have 2 numbers: 53147
skamonkey@3831
  2069
skamonkey@3831
  2070
/(.*)\b(\d+)$/
skamonkey@3831
  2071
    I have 2 numbers: 53147
skamonkey@3831
  2072
skamonkey@3831
  2073
/(.*\D)(\d+)$/
skamonkey@3831
  2074
    I have 2 numbers: 53147
skamonkey@3831
  2075
skamonkey@3831
  2076
/^\D*(?!123)/
skamonkey@3831
  2077
    ABC123
skamonkey@3831
  2078
     
skamonkey@3831
  2079
/^(\D*)(?=\d)(?!123)/
skamonkey@3831
  2080
    ABC445
skamonkey@3831
  2081
    *** Failers
skamonkey@3831
  2082
    ABC123
skamonkey@3831
  2083
    
skamonkey@3831
  2084
/^[W-]46]/
skamonkey@3831
  2085
    W46]789 
skamonkey@3831
  2086
    -46]789
skamonkey@3831
  2087
    *** Failers
skamonkey@3831
  2088
    Wall
skamonkey@3831
  2089
    Zebra
skamonkey@3831
  2090
    42
skamonkey@3831
  2091
    [abcd] 
skamonkey@3831
  2092
    ]abcd[
skamonkey@3831
  2093
       
skamonkey@3831
  2094
/^[W-\]46]/
skamonkey@3831
  2095
    W46]789 
skamonkey@3831
  2096
    Wall
skamonkey@3831
  2097
    Zebra
skamonkey@3831
  2098
    Xylophone  
skamonkey@3831
  2099
    42
skamonkey@3831
  2100
    [abcd] 
skamonkey@3831
  2101
    ]abcd[
skamonkey@3831
  2102
    \\backslash 
skamonkey@3831
  2103
    *** Failers
skamonkey@3831
  2104
    -46]789
skamonkey@3831
  2105
    well
skamonkey@3831
  2106
    
skamonkey@3831
  2107
/\d\d\/\d\d\/\d\d\d\d/
skamonkey@3831
  2108
    01/01/2000
skamonkey@3831
  2109
skamonkey@3831
  2110
/word (?:[a-zA-Z0-9]+ ){0,10}otherword/
skamonkey@3831
  2111
  word cat dog elephant mussel cow horse canary baboon snake shark otherword
skamonkey@3831
  2112
  word cat dog elephant mussel cow horse canary baboon snake shark
skamonkey@3831
  2113
skamonkey@3831
  2114
/word (?:[a-zA-Z0-9]+ ){0,300}otherword/
skamonkey@3831
  2115
  word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
skamonkey@3831
  2116
skamonkey@3831
  2117
/^(a){0,0}/
skamonkey@3831
  2118
    bcd
skamonkey@3831
  2119
    abc
skamonkey@3831
  2120
    aab     
skamonkey@3831
  2121
skamonkey@3831
  2122
/^(a){0,1}/
skamonkey@3831
  2123
    bcd
skamonkey@3831
  2124
    abc
skamonkey@3831
  2125
    aab  
skamonkey@3831
  2126
skamonkey@3831
  2127
/^(a){0,2}/
skamonkey@3831
  2128
    bcd
skamonkey@3831
  2129
    abc
skamonkey@3831
  2130
    aab  
skamonkey@3831
  2131
skamonkey@3831
  2132
/^(a){0,3}/
skamonkey@3831
  2133
    bcd
skamonkey@3831
  2134
    abc
skamonkey@3831
  2135
    aab
skamonkey@3831
  2136
    aaa   
skamonkey@3831
  2137
skamonkey@3831
  2138
/^(a){0,}/
skamonkey@3831
  2139
    bcd
skamonkey@3831
  2140
    abc
skamonkey@3831
  2141
    aab
skamonkey@3831
  2142
    aaa
skamonkey@3831
  2143
    aaaaaaaa    
skamonkey@3831
  2144
skamonkey@3831
  2145
/^(a){1,1}/
skamonkey@3831
  2146
    bcd
skamonkey@3831
  2147
    abc
skamonkey@3831
  2148
    aab  
skamonkey@3831
  2149
skamonkey@3831
  2150
/^(a){1,2}/
skamonkey@3831
  2151
    bcd
skamonkey@3831
  2152
    abc
skamonkey@3831
  2153
    aab  
skamonkey@3831
  2154
skamonkey@3831
  2155
/^(a){1,3}/
skamonkey@3831
  2156
    bcd
skamonkey@3831
  2157
    abc
skamonkey@3831
  2158
    aab
skamonkey@3831
  2159
    aaa   
skamonkey@3831
  2160
skamonkey@3831
  2161
/^(a){1,}/
skamonkey@3831
  2162
    bcd
skamonkey@3831
  2163
    abc
skamonkey@3831
  2164
    aab
skamonkey@3831
  2165
    aaa
skamonkey@3831
  2166
    aaaaaaaa    
skamonkey@3831
  2167
skamonkey@3831
  2168
/.*\.gif/
skamonkey@3831
  2169
    borfle\nbib.gif\nno
skamonkey@3831
  2170
skamonkey@3831
  2171
/.{0,}\.gif/
skamonkey@3831
  2172
    borfle\nbib.gif\nno
skamonkey@3831
  2173
skamonkey@3831
  2174
/.*\.gif/m
skamonkey@3831
  2175
    borfle\nbib.gif\nno
skamonkey@3831
  2176
skamonkey@3831
  2177
/.*\.gif/s
skamonkey@3831
  2178
    borfle\nbib.gif\nno
skamonkey@3831
  2179
skamonkey@3831
  2180
/.*\.gif/ms
skamonkey@3831
  2181
    borfle\nbib.gif\nno
skamonkey@3831
  2182
    
skamonkey@3831
  2183
/.*$/
skamonkey@3831
  2184
    borfle\nbib.gif\nno
skamonkey@3831
  2185
skamonkey@3831
  2186
/.*$/m
skamonkey@3831
  2187
    borfle\nbib.gif\nno
skamonkey@3831
  2188
skamonkey@3831
  2189
/.*$/s
skamonkey@3831
  2190
    borfle\nbib.gif\nno
skamonkey@3831
  2191
skamonkey@3831
  2192
/.*$/ms
skamonkey@3831
  2193
    borfle\nbib.gif\nno
skamonkey@3831
  2194
    
skamonkey@3831
  2195
/.*$/
skamonkey@3831
  2196
    borfle\nbib.gif\nno\n
skamonkey@3831
  2197
skamonkey@3831
  2198
/.*$/m
skamonkey@3831
  2199
    borfle\nbib.gif\nno\n
skamonkey@3831
  2200
skamonkey@3831
  2201
/.*$/s
skamonkey@3831
  2202
    borfle\nbib.gif\nno\n
skamonkey@3831
  2203
skamonkey@3831
  2204
/.*$/ms
skamonkey@3831
  2205
    borfle\nbib.gif\nno\n
skamonkey@3831
  2206
    
skamonkey@3831
  2207
/(.*X|^B)/
skamonkey@3831
  2208
    abcde\n1234Xyz
skamonkey@3831
  2209
    BarFoo 
skamonkey@3831
  2210
    *** Failers
skamonkey@3831
  2211
    abcde\nBar  
skamonkey@3831
  2212
skamonkey@3831
  2213
/(.*X|^B)/m
skamonkey@3831
  2214
    abcde\n1234Xyz
skamonkey@3831
  2215
    BarFoo 
skamonkey@3831
  2216
    abcde\nBar  
skamonkey@3831
  2217
skamonkey@3831
  2218
/(.*X|^B)/s
skamonkey@3831
  2219
    abcde\n1234Xyz
skamonkey@3831
  2220
    BarFoo 
skamonkey@3831
  2221
    *** Failers
skamonkey@3831
  2222
    abcde\nBar  
skamonkey@3831
  2223
skamonkey@3831
  2224
/(.*X|^B)/ms
skamonkey@3831
  2225
    abcde\n1234Xyz
skamonkey@3831
  2226
    BarFoo 
skamonkey@3831
  2227
    abcde\nBar  
skamonkey@3831
  2228
skamonkey@3831
  2229
/(?s)(.*X|^B)/
skamonkey@3831
  2230
    abcde\n1234Xyz
skamonkey@3831
  2231
    BarFoo 
skamonkey@3831
  2232
    *** Failers 
skamonkey@3831
  2233
    abcde\nBar  
skamonkey@3831
  2234
skamonkey@3831
  2235
/(?s:.*X|^B)/
skamonkey@3831
  2236
    abcde\n1234Xyz
skamonkey@3831
  2237
    BarFoo 
skamonkey@3831
  2238
    *** Failers 
skamonkey@3831
  2239
    abcde\nBar  
skamonkey@3831
  2240
skamonkey@3831
  2241
/^.*B/
skamonkey@3831
  2242
    **** Failers
skamonkey@3831
  2243
    abc\nB
skamonkey@3831
  2244
     
skamonkey@3831
  2245
/(?s)^.*B/
skamonkey@3831
  2246
    abc\nB
skamonkey@3831
  2247
skamonkey@3831
  2248
/(?m)^.*B/
skamonkey@3831
  2249
    abc\nB
skamonkey@3831
  2250
     
skamonkey@3831
  2251
/(?ms)^.*B/
skamonkey@3831
  2252
    abc\nB
skamonkey@3831
  2253
skamonkey@3831
  2254
/(?ms)^B/
skamonkey@3831
  2255
    abc\nB
skamonkey@3831
  2256
skamonkey@3831
  2257
/(?s)B$/
skamonkey@3831
  2258
    B\n
skamonkey@3831
  2259
skamonkey@3831
  2260
/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
skamonkey@3831
  2261
    123456654321
skamonkey@3831
  2262
  
skamonkey@3831
  2263
/^\d\d\d\d\d\d\d\d\d\d\d\d/
skamonkey@3831
  2264
    123456654321 
skamonkey@3831
  2265
skamonkey@3831
  2266
/^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
skamonkey@3831
  2267
    123456654321
skamonkey@3831
  2268
  
skamonkey@3831
  2269
/^[abc]{12}/
skamonkey@3831
  2270
    abcabcabcabc
skamonkey@3831
  2271
    
skamonkey@3831
  2272
/^[a-c]{12}/
skamonkey@3831
  2273
    abcabcabcabc
skamonkey@3831
  2274
    
skamonkey@3831
  2275
/^(a|b|c){12}/
skamonkey@3831
  2276
    abcabcabcabc 
skamonkey@3831
  2277
skamonkey@3831
  2278
/^[abcdefghijklmnopqrstuvwxy0123456789]/
skamonkey@3831
  2279
    n
skamonkey@3831
  2280
    *** Failers 
skamonkey@3831
  2281
    z 
skamonkey@3831
  2282
skamonkey@3831
  2283
/abcde{0,0}/
skamonkey@3831
  2284
    abcd
skamonkey@3831
  2285
    *** Failers
skamonkey@3831
  2286
    abce  
skamonkey@3831
  2287
skamonkey@3831
  2288
/ab[cd]{0,0}e/
skamonkey@3831
  2289
    abe
skamonkey@3831
  2290
    *** Failers
skamonkey@3831
  2291
    abcde 
skamonkey@3831
  2292
    
skamonkey@3831
  2293
/ab(c){0,0}d/
skamonkey@3831
  2294
    abd
skamonkey@3831
  2295
    *** Failers
skamonkey@3831
  2296
    abcd   
skamonkey@3831
  2297
skamonkey@3831
  2298
/a(b*)/
skamonkey@3831
  2299
    a
skamonkey@3831
  2300
    ab
skamonkey@3831
  2301
    abbbb
skamonkey@3831
  2302
    *** Failers
skamonkey@3831
  2303
    bbbbb    
skamonkey@3831
  2304
    
skamonkey@3831
  2305
/ab\d{0}e/
skamonkey@3831
  2306
    abe
skamonkey@3831
  2307
    *** Failers
skamonkey@3831
  2308
    ab1e   
skamonkey@3831
  2309
    
skamonkey@3831
  2310
/"([^\\"]+|\\.)*"/
skamonkey@3831
  2311
    the \"quick\" brown fox
skamonkey@3831
  2312
    \"the \\\"quick\\\" brown fox\" 
skamonkey@3831
  2313
skamonkey@3831
  2314
/.*?/g+
skamonkey@3831
  2315
    abc
skamonkey@3831
  2316
  
skamonkey@3831
  2317
/\b/g+
skamonkey@3831
  2318
    abc 
skamonkey@3831
  2319
skamonkey@3831
  2320
/\b/+g
skamonkey@3831
  2321
    abc 
skamonkey@3831
  2322
skamonkey@3831
  2323
//g
skamonkey@3831
  2324
    abc
skamonkey@3831
  2325
skamonkey@3831
  2326
/<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/is
skamonkey@3831
  2327
  <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>
skamonkey@3831
  2328
skamonkey@3831
  2329
/a[^a]b/
skamonkey@3831
  2330
    acb
skamonkey@3831
  2331
    a\nb
skamonkey@3831
  2332
    
skamonkey@3831
  2333
/a.b/
skamonkey@3831
  2334
    acb
skamonkey@3831
  2335
    *** Failers 
skamonkey@3831
  2336
    a\nb   
skamonkey@3831
  2337
    
skamonkey@3831
  2338
/a[^a]b/s
skamonkey@3831
  2339
    acb
skamonkey@3831
  2340
    a\nb  
skamonkey@3831
  2341
    
skamonkey@3831
  2342
/a.b/s
skamonkey@3831
  2343
    acb
skamonkey@3831
  2344
    a\nb  
skamonkey@3831
  2345
skamonkey@3831
  2346
/^(b+?|a){1,2}?c/
skamonkey@3831
  2347
    bac
skamonkey@3831
  2348
    bbac
skamonkey@3831
  2349
    bbbac
skamonkey@3831
  2350
    bbbbac
skamonkey@3831
  2351
    bbbbbac 
skamonkey@3831
  2352
skamonkey@3831
  2353
/^(b+|a){1,2}?c/
skamonkey@3831
  2354
    bac
skamonkey@3831
  2355
    bbac
skamonkey@3831
  2356
    bbbac
skamonkey@3831
  2357
    bbbbac
skamonkey@3831
  2358
    bbbbbac 
skamonkey@3831
  2359
    
skamonkey@3831
  2360
/(?!\A)x/m
skamonkey@3831
  2361
    x\nb\n
skamonkey@3831
  2362
    a\bx\n  
skamonkey@3831
  2363
    
skamonkey@3831
  2364
/\x0{ab}/
skamonkey@3831
  2365
    \0{ab} 
skamonkey@3831
  2366
skamonkey@3831
  2367
/(A|B)*?CD/
skamonkey@3831
  2368
    CD 
skamonkey@3831
  2369
    
skamonkey@3831
  2370
/(A|B)*CD/
skamonkey@3831
  2371
    CD 
skamonkey@3831
  2372
skamonkey@3831
  2373
/(?<!bar)foo/
skamonkey@3831
  2374
    foo
skamonkey@3831
  2375
    catfood
skamonkey@3831
  2376
    arfootle
skamonkey@3831
  2377
    rfoosh
skamonkey@3831
  2378
    *** Failers
skamonkey@3831
  2379
    barfoo
skamonkey@3831
  2380
    towbarfoo
skamonkey@3831
  2381
skamonkey@3831
  2382
/\w{3}(?<!bar)foo/
skamonkey@3831
  2383
    catfood
skamonkey@3831
  2384
    *** Failers
skamonkey@3831
  2385
    foo
skamonkey@3831
  2386
    barfoo
skamonkey@3831
  2387
    towbarfoo
skamonkey@3831
  2388
skamonkey@3831
  2389
/(?<=(foo)a)bar/
skamonkey@3831
  2390
    fooabar
skamonkey@3831
  2391
    *** Failers
skamonkey@3831
  2392
    bar
skamonkey@3831
  2393
    foobbar
skamonkey@3831
  2394
      
skamonkey@3831
  2395
/\Aabc\z/m
skamonkey@3831
  2396
    abc
skamonkey@3831
  2397
    *** Failers
skamonkey@3831
  2398
    abc\n   
skamonkey@3831
  2399
    qqq\nabc
skamonkey@3831
  2400
    abc\nzzz
skamonkey@3831
  2401
    qqq\nabc\nzzz
skamonkey@3831
  2402
skamonkey@3831
  2403
"(?>.*/)foo"
skamonkey@3831
  2404
    /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
skamonkey@3831
  2405
skamonkey@3831
  2406
"(?>.*/)foo"
skamonkey@3831
  2407
    /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
skamonkey@3831
  2408
skamonkey@3831
  2409
/(?>(\.\d\d[1-9]?))\d+/
skamonkey@3831
  2410
    1.230003938
skamonkey@3831
  2411
    1.875000282
skamonkey@3831
  2412
    *** Failers 
skamonkey@3831
  2413
    1.235 
skamonkey@3831
  2414
skamonkey@3831
  2415
/^((?>\w+)|(?>\s+))*$/
skamonkey@3831
  2416
    now is the time for all good men to come to the aid of the party
skamonkey@3831
  2417
    *** Failers
skamonkey@3831
  2418
    this is not a line with only words and spaces!
skamonkey@3831
  2419
    
skamonkey@3831
  2420
/(\d+)(\w)/
skamonkey@3831
  2421
    12345a
skamonkey@3831
  2422
    12345+ 
skamonkey@3831
  2423
skamonkey@3831
  2424
/((?>\d+))(\w)/
skamonkey@3831
  2425
    12345a
skamonkey@3831
  2426
    *** Failers
skamonkey@3831
  2427
    12345+ 
skamonkey@3831
  2428
skamonkey@3831
  2429
/(?>a+)b/
skamonkey@3831
  2430
    aaab
skamonkey@3831
  2431
skamonkey@3831
  2432
/((?>a+)b)/
skamonkey@3831
  2433
    aaab
skamonkey@3831
  2434
skamonkey@3831
  2435
/(?>(a+))b/
skamonkey@3831
  2436
    aaab
skamonkey@3831
  2437
skamonkey@3831
  2438
/(?>b)+/
skamonkey@3831
  2439
    aaabbbccc
skamonkey@3831
  2440
skamonkey@3831
  2441
/(?>a+|b+|c+)*c/
skamonkey@3831
  2442
    aaabbbbccccd
skamonkey@3831
  2443
    
skamonkey@3831
  2444
/(a+|b+|c+)*c/
skamonkey@3831
  2445
    aaabbbbccccd
skamonkey@3831
  2446
skamonkey@3831
  2447
/((?>[^()]+)|\([^()]*\))+/
skamonkey@3831
  2448
    ((abc(ade)ufh()()x
skamonkey@3831
  2449
    
skamonkey@3831
  2450
/\(((?>[^()]+)|\([^()]+\))+\)/ 
skamonkey@3831
  2451
    (abc)
skamonkey@3831
  2452
    (abc(def)xyz)
skamonkey@3831
  2453
    *** Failers
skamonkey@3831
  2454
    ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   
skamonkey@3831
  2455
skamonkey@3831
  2456
/a(?-i)b/i
skamonkey@3831
  2457
    ab
skamonkey@3831
  2458
    Ab
skamonkey@3831
  2459
    *** Failers 
skamonkey@3831
  2460
    aB
skamonkey@3831
  2461
    AB
skamonkey@3831
  2462
        
skamonkey@3831
  2463
/(a (?x)b c)d e/
skamonkey@3831
  2464
    a bcd e
skamonkey@3831
  2465
    *** Failers
skamonkey@3831
  2466
    a b cd e
skamonkey@3831
  2467
    abcd e   
skamonkey@3831
  2468
    a bcde 
skamonkey@3831
  2469
 
skamonkey@3831
  2470
/(a b(?x)c d (?-x)e f)/
skamonkey@3831
  2471
    a bcde f
skamonkey@3831
  2472
    *** Failers
skamonkey@3831
  2473
    abcdef  
skamonkey@3831
  2474
skamonkey@3831
  2475
/(a(?i)b)c/
skamonkey@3831
  2476
    abc
skamonkey@3831
  2477
    aBc
skamonkey@3831
  2478
    *** Failers
skamonkey@3831
  2479
    abC
skamonkey@3831
  2480
    aBC  
skamonkey@3831
  2481
    Abc
skamonkey@3831
  2482
    ABc
skamonkey@3831
  2483
    ABC
skamonkey@3831
  2484
    AbC
skamonkey@3831
  2485
    
skamonkey@3831
  2486
/a(?i:b)c/
skamonkey@3831
  2487
    abc
skamonkey@3831
  2488
    aBc
skamonkey@3831
  2489
    *** Failers 
skamonkey@3831
  2490
    ABC
skamonkey@3831
  2491
    abC
skamonkey@3831
  2492
    aBC
skamonkey@3831
  2493
    
skamonkey@3831
  2494
/a(?i:b)*c/
skamonkey@3831
  2495
    aBc
skamonkey@3831
  2496
    aBBc
skamonkey@3831
  2497
    *** Failers 
skamonkey@3831
  2498
    aBC
skamonkey@3831
  2499
    aBBC
skamonkey@3831
  2500
    
skamonkey@3831
  2501
/a(?=b(?i)c)\w\wd/
skamonkey@3831
  2502
    abcd
skamonkey@3831
  2503
    abCd
skamonkey@3831
  2504
    *** Failers
skamonkey@3831
  2505
    aBCd
skamonkey@3831
  2506
    abcD     
skamonkey@3831
  2507
    
skamonkey@3831
  2508
/(?s-i:more.*than).*million/i
skamonkey@3831
  2509
    more than million
skamonkey@3831
  2510
    more than MILLION
skamonkey@3831
  2511
    more \n than Million 
skamonkey@3831
  2512
    *** Failers
skamonkey@3831
  2513
    MORE THAN MILLION    
skamonkey@3831
  2514
    more \n than \n million 
skamonkey@3831
  2515
skamonkey@3831
  2516
/(?:(?s-i)more.*than).*million/i
skamonkey@3831
  2517
    more than million
skamonkey@3831
  2518
    more than MILLION
skamonkey@3831
  2519
    more \n than Million 
skamonkey@3831
  2520
    *** Failers
skamonkey@3831
  2521
    MORE THAN MILLION    
skamonkey@3831
  2522
    more \n than \n million 
skamonkey@3831
  2523
    
skamonkey@3831
  2524
/(?>a(?i)b+)+c/ 
skamonkey@3831
  2525
    abc
skamonkey@3831
  2526
    aBbc
skamonkey@3831
  2527
    aBBc 
skamonkey@3831
  2528
    *** Failers
skamonkey@3831
  2529
    Abc
skamonkey@3831
  2530
    abAb    
skamonkey@3831
  2531
    abbC 
skamonkey@3831
  2532
    
skamonkey@3831
  2533
/(?=a(?i)b)\w\wc/
skamonkey@3831
  2534
    abc
skamonkey@3831
  2535
    aBc
skamonkey@3831
  2536
    *** Failers
skamonkey@3831
  2537
    Ab 
skamonkey@3831
  2538
    abC
skamonkey@3831
  2539
    aBC     
skamonkey@3831
  2540
    
skamonkey@3831
  2541
/(?<=a(?i)b)(\w\w)c/
skamonkey@3831
  2542
    abxxc
skamonkey@3831
  2543
    aBxxc
skamonkey@3831
  2544
    *** Failers
skamonkey@3831
  2545
    Abxxc
skamonkey@3831
  2546
    ABxxc
skamonkey@3831
  2547
    abxxC      
skamonkey@3831
  2548
skamonkey@3831
  2549
/^(?(?=abc)\w{3}:|\d\d)$/
skamonkey@3831
  2550
    abc:
skamonkey@3831
  2551
    12
skamonkey@3831
  2552
    *** Failers
skamonkey@3831
  2553
    123
skamonkey@3831
  2554
    xyz    
skamonkey@3831
  2555
skamonkey@3831
  2556
/^(?(?!abc)\d\d|\w{3}:)$/
skamonkey@3831
  2557
    abc:
skamonkey@3831
  2558
    12
dvander@2762
  2559
    *** Failers
skamonkey@3831
  2560
    123
skamonkey@3831
  2561
    xyz    
skamonkey@3831
  2562
    
skamonkey@3831
  2563
/(?(?<=foo)bar|cat)/
skamonkey@3831
  2564
    foobar
skamonkey@3831
  2565
    cat
skamonkey@3831
  2566
    fcat
skamonkey@3831
  2567
    focat   
skamonkey@3831
  2568
    *** Failers
skamonkey@3831
  2569
    foocat  
skamonkey@3831
  2570
skamonkey@3831
  2571
/(?(?<!foo)cat|bar)/
skamonkey@3831
  2572
    foobar
skamonkey@3831
  2573
    cat
skamonkey@3831
  2574
    fcat
skamonkey@3831
  2575
    focat   
skamonkey@3831
  2576
    *** Failers
skamonkey@3831
  2577
    foocat  
skamonkey@3831
  2578
skamonkey@3831
  2579
/(?>a*)*/
skamonkey@3831
  2580
    a
skamonkey@3831
  2581
    aa
skamonkey@3831
  2582
    aaaa
skamonkey@3831
  2583
    
skamonkey@3831
  2584
/(abc|)+/
skamonkey@3831
  2585
    abc
skamonkey@3831
  2586
    abcabc
skamonkey@3831
  2587
    abcabcabc
skamonkey@3831
  2588
    xyz      
skamonkey@3831
  2589
skamonkey@3831
  2590
/([a]*)*/
skamonkey@3831
  2591
    a
skamonkey@3831
  2592
    aaaaa 
skamonkey@3831
  2593
 
skamonkey@3831
  2594
/([ab]*)*/
skamonkey@3831
  2595
    a
skamonkey@3831
  2596
    b
skamonkey@3831
  2597
    ababab
skamonkey@3831
  2598
    aaaabcde
skamonkey@3831
  2599
    bbbb    
skamonkey@3831
  2600
 
skamonkey@3831
  2601
/([^a]*)*/
skamonkey@3831
  2602
    b
skamonkey@3831
  2603
    bbbb
skamonkey@3831
  2604
    aaa   
skamonkey@3831
  2605
 
skamonkey@3831
  2606
/([^ab]*)*/
skamonkey@3831
  2607
    cccc
skamonkey@3831
  2608
    abab  
skamonkey@3831
  2609
 
skamonkey@3831
  2610
/([a]*?)*/
skamonkey@3831
  2611
    a
skamonkey@3831
  2612
    aaaa 
skamonkey@3831
  2613
 
skamonkey@3831
  2614
/([ab]*?)*/
skamonkey@3831
  2615
    a
skamonkey@3831
  2616
    b
skamonkey@3831
  2617
    abab
skamonkey@3831
  2618
    baba   
skamonkey@3831
  2619
 
skamonkey@3831
  2620
/([^a]*?)*/
skamonkey@3831
  2621
    b
skamonkey@3831
  2622
    bbbb
skamonkey@3831
  2623
    aaa   
skamonkey@3831
  2624
 
skamonkey@3831
  2625
/([^ab]*?)*/
skamonkey@3831
  2626
    c
skamonkey@3831
  2627
    cccc
skamonkey@3831
  2628
    baba   
skamonkey@3831
  2629
 
skamonkey@3831
  2630
/(?>a*)*/
skamonkey@3831
  2631
    a
skamonkey@3831
  2632
    aaabcde 
skamonkey@3831
  2633
 
skamonkey@3831
  2634
/((?>a*))*/
skamonkey@3831
  2635
    aaaaa
skamonkey@3831
  2636
    aabbaa 
skamonkey@3831
  2637
 
skamonkey@3831
  2638
/((?>a*?))*/
skamonkey@3831
  2639
    aaaaa
skamonkey@3831
  2640
    aabbaa 
skamonkey@3831
  2641
skamonkey@3831
  2642
/(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /x
skamonkey@3831
  2643
    12-sep-98
skamonkey@3831
  2644
    12-09-98
skamonkey@3831
  2645
    *** Failers
skamonkey@3831
  2646
    sep-12-98
skamonkey@3831
  2647
        
skamonkey@3831
  2648
/(?i:saturday|sunday)/
skamonkey@3831
  2649
    saturday
skamonkey@3831
  2650
    sunday
skamonkey@3831
  2651
    Saturday
skamonkey@3831
  2652
    Sunday
skamonkey@3831
  2653
    SATURDAY
skamonkey@3831
  2654
    SUNDAY
skamonkey@3831
  2655
    SunDay
skamonkey@3831
  2656
    
skamonkey@3831
  2657
/(a(?i)bc|BB)x/
skamonkey@3831
  2658
    abcx
skamonkey@3831
  2659
    aBCx
skamonkey@3831
  2660
    bbx
skamonkey@3831
  2661
    BBx
skamonkey@3831
  2662
    *** Failers
skamonkey@3831
  2663
    abcX
skamonkey@3831
  2664
    aBCX
skamonkey@3831
  2665
    bbX
skamonkey@3831
  2666
    BBX               
skamonkey@3831
  2667
skamonkey@3831
  2668
/^([ab](?i)[cd]|[ef])/
skamonkey@3831
  2669
    ac
skamonkey@3831
  2670
    aC
skamonkey@3831
  2671
    bD
skamonkey@3831
  2672
    elephant
skamonkey@3831
  2673
    Europe 
skamonkey@3831
  2674
    frog
skamonkey@3831
  2675
    France
skamonkey@3831
  2676
    *** Failers
skamonkey@3831
  2677
    Africa     
skamonkey@3831
  2678
skamonkey@3831
  2679
/^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
skamonkey@3831
  2680
    ab
skamonkey@3831
  2681
    aBd
skamonkey@3831
  2682
    xy
skamonkey@3831
  2683
    xY
skamonkey@3831
  2684
    zebra
skamonkey@3831
  2685
    Zambesi
skamonkey@3831
  2686
    *** Failers
skamonkey@3831
  2687
    aCD  
skamonkey@3831
  2688
    XY  
skamonkey@3831
  2689
skamonkey@3831
  2690
/(?<=foo\n)^bar/m
skamonkey@3831
  2691
    foo\nbar
skamonkey@3831
  2692
    *** Failers
skamonkey@3831
  2693
    bar
skamonkey@3831
  2694
    baz\nbar   
skamonkey@3831
  2695
skamonkey@3831
  2696
/(?<=(?<!foo)bar)baz/
skamonkey@3831
  2697
    barbaz
skamonkey@3831
  2698
    barbarbaz 
skamonkey@3831
  2699
    koobarbaz 
skamonkey@3831
  2700
    *** Failers
skamonkey@3831
  2701
    baz
skamonkey@3831
  2702
    foobarbaz 
skamonkey@3831
  2703
skamonkey@3831
  2704
/The following tests are taken from the Perl 5.005 test suite; some of them/
skamonkey@3831
  2705
/are compatible with 5.004, but I'd rather not have to sort them out./
skamonkey@3831
  2706
skamonkey@3831
  2707
/abc/
skamonkey@3831
  2708
    abc
skamonkey@3831
  2709
    xabcy
skamonkey@3831
  2710
    ababc
skamonkey@3831
  2711
    *** Failers
skamonkey@3831
  2712
    xbc
skamonkey@3831
  2713
    axc
skamonkey@3831
  2714
    abx
skamonkey@3831
  2715
skamonkey@3831
  2716
/ab*c/
skamonkey@3831
  2717
    abc
skamonkey@3831
  2718
skamonkey@3831
  2719
/ab*bc/
skamonkey@3831
  2720
    abc
skamonkey@3831
  2721
    abbc
skamonkey@3831
  2722
    abbbbc
skamonkey@3831
  2723
skamonkey@3831
  2724
/.{1}/
skamonkey@3831
  2725
    abbbbc
skamonkey@3831
  2726
skamonkey@3831
  2727
/.{3,4}/
skamonkey@3831
  2728
    abbbbc
skamonkey@3831
  2729
skamonkey@3831
  2730
/ab{0,}bc/
skamonkey@3831
  2731
    abbbbc
skamonkey@3831
  2732
skamonkey@3831
  2733
/ab+bc/
skamonkey@3831
  2734
    abbc
skamonkey@3831
  2735
    *** Failers
skamonkey@3831
  2736
    abc
skamonkey@3831
  2737
    abq
skamonkey@3831
  2738
skamonkey@3831
  2739
/ab+bc/
skamonkey@3831
  2740
    abbbbc
skamonkey@3831
  2741
skamonkey@3831
  2742
/ab{1,}bc/
skamonkey@3831
  2743
    abbbbc
skamonkey@3831
  2744
skamonkey@3831
  2745
/ab{1,3}bc/
skamonkey@3831
  2746
    abbbbc
skamonkey@3831
  2747
skamonkey@3831
  2748
/ab{3,4}bc/
skamonkey@3831
  2749
    abbbbc
skamonkey@3831
  2750
skamonkey@3831
  2751
/ab{4,5}bc/
skamonkey@3831
  2752
    *** Failers
skamonkey@3831
  2753
    abq
skamonkey@3831
  2754
    abbbbc
skamonkey@3831
  2755
skamonkey@3831
  2756
/ab?bc/
skamonkey@3831
  2757
    abbc
skamonkey@3831
  2758
    abc
skamonkey@3831
  2759
skamonkey@3831
  2760
/ab{0,1}bc/
skamonkey@3831
  2761
    abc
skamonkey@3831
  2762
skamonkey@3831
  2763
/ab?bc/
skamonkey@3831
  2764
skamonkey@3831
  2765
/ab?c/
skamonkey@3831
  2766
    abc
skamonkey@3831
  2767
skamonkey@3831
  2768
/ab{0,1}c/
skamonkey@3831
  2769
    abc
skamonkey@3831
  2770
skamonkey@3831
  2771
/^abc$/
skamonkey@3831
  2772
    abc
skamonkey@3831
  2773
    *** Failers
skamonkey@3831
  2774
    abbbbc
skamonkey@3831
  2775
    abcc
skamonkey@3831
  2776
skamonkey@3831
  2777
/^abc/
skamonkey@3831
  2778
    abcc
skamonkey@3831
  2779
skamonkey@3831
  2780
/^abc$/
skamonkey@3831
  2781
skamonkey@3831
  2782
/abc$/
skamonkey@3831
  2783
    aabc
skamonkey@3831
  2784
    *** Failers
skamonkey@3831
  2785
    aabc
skamonkey@3831
  2786
    aabcd
skamonkey@3831
  2787
skamonkey@3831
  2788
/^/
skamonkey@3831
  2789
    abc
skamonkey@3831
  2790
skamonkey@3831
  2791
/$/
skamonkey@3831
  2792
    abc
skamonkey@3831
  2793
skamonkey@3831
  2794
/a.c/
skamonkey@3831
  2795
    abc
skamonkey@3831
  2796
    axc
skamonkey@3831
  2797
skamonkey@3831
  2798
/a.*c/
skamonkey@3831
  2799
    axyzc
skamonkey@3831
  2800
skamonkey@3831
  2801
/a[bc]d/
skamonkey@3831
  2802
    abd
skamonkey@3831
  2803
    *** Failers
skamonkey@3831
  2804
    axyzd
skamonkey@3831
  2805
    abc
skamonkey@3831
  2806
skamonkey@3831
  2807
/a[b-d]e/
skamonkey@3831
  2808
    ace
skamonkey@3831
  2809
skamonkey@3831
  2810
/a[b-d]/
skamonkey@3831
  2811
    aac
skamonkey@3831
  2812
skamonkey@3831
  2813
/a[-b]/
skamonkey@3831
  2814
    a-
skamonkey@3831
  2815
skamonkey@3831
  2816
/a[b-]/
skamonkey@3831
  2817
    a-
skamonkey@3831
  2818
skamonkey@3831
  2819
/a]/
skamonkey@3831
  2820
    a]
skamonkey@3831
  2821
skamonkey@3831
  2822
/a[]]b/
skamonkey@3831
  2823
    a]b
skamonkey@3831
  2824
skamonkey@3831
  2825
/a[^bc]d/
skamonkey@3831
  2826
    aed
skamonkey@3831
  2827
    *** Failers
skamonkey@3831
  2828
    abd
skamonkey@3831
  2829
    abd
skamonkey@3831
  2830
skamonkey@3831
  2831
/a[^-b]c/
skamonkey@3831
  2832
    adc
skamonkey@3831
  2833
skamonkey@3831
  2834
/a[^]b]c/
skamonkey@3831
  2835
    adc
skamonkey@3831
  2836
    *** Failers
skamonkey@3831
  2837
    a-c
skamonkey@3831
  2838
    a]c
skamonkey@3831
  2839
skamonkey@3831
  2840
/\ba\b/
skamonkey@3831
  2841
    a-
skamonkey@3831
  2842
    -a
skamonkey@3831
  2843
    -a-
skamonkey@3831
  2844
skamonkey@3831
  2845
/\by\b/
skamonkey@3831
  2846
    *** Failers
skamonkey@3831
  2847
    xy
skamonkey@3831
  2848
    yz
skamonkey@3831
  2849
    xyz
skamonkey@3831
  2850
skamonkey@3831
  2851
/\Ba\B/
skamonkey@3831
  2852
    *** Failers
skamonkey@3831
  2853
    a-
skamonkey@3831
  2854
    -a
skamonkey@3831
  2855
    -a-
skamonkey@3831
  2856
skamonkey@3831
  2857
/\By\b/
skamonkey@3831
  2858
    xy
skamonkey@3831
  2859
skamonkey@3831
  2860
/\by\B/
skamonkey@3831
  2861
    yz
skamonkey@3831
  2862
skamonkey@3831
  2863
/\By\B/
skamonkey@3831
  2864
    xyz
skamonkey@3831
  2865
skamonkey@3831
  2866
/\w/
skamonkey@3831
  2867
    a
skamonkey@3831
  2868
skamonkey@3831
  2869
/\W/
skamonkey@3831
  2870
    -
skamonkey@3831
  2871
    *** Failers
skamonkey@3831
  2872
    -
skamonkey@3831
  2873
    a
skamonkey@3831
  2874
skamonkey@3831
  2875
/a\sb/
skamonkey@3831
  2876
    a b
skamonkey@3831
  2877
skamonkey@3831
  2878
/a\Sb/
skamonkey@3831
  2879
    a-b
skamonkey@3831
  2880
    *** Failers
skamonkey@3831
  2881
    a-b
skamonkey@3831
  2882
    a b
skamonkey@3831
  2883
skamonkey@3831
  2884
/\d/
skamonkey@3831
  2885
    1
skamonkey@3831
  2886
skamonkey@3831
  2887
/\D/
skamonkey@3831
  2888
    -
skamonkey@3831
  2889
    *** Failers
skamonkey@3831
  2890
    -
skamonkey@3831
  2891
    1
skamonkey@3831
  2892
skamonkey@3831
  2893
/[\w]/
skamonkey@3831
  2894
    a
skamonkey@3831
  2895
skamonkey@3831
  2896
/[\W]/
skamonkey@3831
  2897
    -
skamonkey@3831
  2898
    *** Failers
skamonkey@3831
  2899
    -
skamonkey@3831
  2900
    a
skamonkey@3831
  2901
skamonkey@3831
  2902
/a[\s]b/
skamonkey@3831
  2903
    a b
skamonkey@3831
  2904
skamonkey@3831
  2905
/a[\S]b/
skamonkey@3831
  2906
    a-b
skamonkey@3831
  2907
    *** Failers
skamonkey@3831
  2908
    a-b
skamonkey@3831
  2909
    a b
skamonkey@3831
  2910
skamonkey@3831
  2911
/[\d]/
skamonkey@3831
  2912
    1
skamonkey@3831
  2913
skamonkey@3831
  2914
/[\D]/
skamonkey@3831
  2915
    -
skamonkey@3831
  2916
    *** Failers
skamonkey@3831
  2917
    -
skamonkey@3831
  2918
    1
skamonkey@3831
  2919
skamonkey@3831
  2920
/ab|cd/
skamonkey@3831
  2921
    abc
skamonkey@3831
  2922
    abcd
skamonkey@3831
  2923
skamonkey@3831
  2924
/()ef/
skamonkey@3831
  2925
    def
skamonkey@3831
  2926
skamonkey@3831
  2927
/$b/
skamonkey@3831
  2928
skamonkey@3831
  2929
/a\(b/
skamonkey@3831
  2930
    a(b
skamonkey@3831
  2931
skamonkey@3831
  2932
/a\(*b/
skamonkey@3831
  2933
    ab
skamonkey@3831
  2934
    a((b
skamonkey@3831
  2935
skamonkey@3831
  2936
/a\\b/
skamonkey@3831
  2937
    a\b
skamonkey@3831
  2938
skamonkey@3831
  2939
/((a))/
skamonkey@3831
  2940
    abc
skamonkey@3831
  2941
skamonkey@3831
  2942
/(a)b(c)/
skamonkey@3831
  2943
    abc
skamonkey@3831
  2944
skamonkey@3831
  2945
/a+b+c/
skamonkey@3831
  2946
    aabbabc
skamonkey@3831
  2947
skamonkey@3831
  2948
/a{1,}b{1,}c/
skamonkey@3831
  2949
    aabbabc
skamonkey@3831
  2950
skamonkey@3831
  2951
/a.+?c/
skamonkey@3831
  2952
    abcabc
skamonkey@3831
  2953
skamonkey@3831
  2954
/(a+|b)*/
skamonkey@3831
  2955
    ab
skamonkey@3831
  2956
skamonkey@3831
  2957
/(a+|b){0,}/
skamonkey@3831
  2958
    ab
skamonkey@3831
  2959
skamonkey@3831
  2960
/(a+|b)+/
skamonkey@3831
  2961
    ab
skamonkey@3831
  2962
skamonkey@3831
  2963
/(a+|b){1,}/
skamonkey@3831
  2964
    ab
skamonkey@3831
  2965
skamonkey@3831
  2966
/(a+|b)?/
skamonkey@3831
  2967
    ab
skamonkey@3831
  2968
skamonkey@3831
  2969
/(a+|b){0,1}/
skamonkey@3831
  2970
    ab
skamonkey@3831
  2971
skamonkey@3831
  2972
/[^ab]*/
skamonkey@3831
  2973
    cde
skamonkey@3831
  2974
skamonkey@3831
  2975
/abc/
skamonkey@3831
  2976
    *** Failers
skamonkey@3831
  2977
    b
skamonkey@3831
  2978
    
skamonkey@3831
  2979
skamonkey@3831
  2980
/a*/
skamonkey@3831
  2981
    
skamonkey@3831
  2982
skamonkey@3831
  2983
/([abc])*d/
skamonkey@3831
  2984
    abbbcd
skamonkey@3831
  2985
skamonkey@3831
  2986
/([abc])*bcd/
skamonkey@3831
  2987
    abcd
skamonkey@3831
  2988
skamonkey@3831
  2989
/a|b|c|d|e/
skamonkey@3831
  2990
    e
skamonkey@3831
  2991
skamonkey@3831
  2992
/(a|b|c|d|e)f/
skamonkey@3831
  2993
    ef
skamonkey@3831
  2994
skamonkey@3831
  2995
/abcd*efg/
skamonkey@3831
  2996
    abcdefg
skamonkey@3831
  2997
skamonkey@3831
  2998
/ab*/
skamonkey@3831
  2999
    xabyabbbz
skamonkey@3831
  3000
    xayabbbz
skamonkey@3831
  3001
skamonkey@3831
  3002
/(ab|cd)e/
skamonkey@3831
  3003
    abcde
skamonkey@3831
  3004
skamonkey@3831
  3005
/[abhgefdc]ij/
skamonkey@3831
  3006
    hij
skamonkey@3831
  3007
skamonkey@3831
  3008
/^(ab|cd)e/
skamonkey@3831
  3009
skamonkey@3831
  3010
/(abc|)ef/
skamonkey@3831
  3011
    abcdef
skamonkey@3831
  3012
skamonkey@3831
  3013
/(a|b)c*d/
skamonkey@3831
  3014
    abcd
skamonkey@3831
  3015
skamonkey@3831
  3016
/(ab|ab*)bc/
skamonkey@3831
  3017
    abc
skamonkey@3831
  3018
skamonkey@3831
  3019
/a([bc]*)c*/
skamonkey@3831
  3020
    abc
skamonkey@3831
  3021
skamonkey@3831
  3022
/a([bc]*)(c*d)/
skamonkey@3831
  3023
    abcd
skamonkey@3831
  3024
skamonkey@3831
  3025
/a([bc]+)(c*d)/
skamonkey@3831
  3026
    abcd
skamonkey@3831
  3027
skamonkey@3831
  3028
/a([bc]*)(c+d)/
skamonkey@3831
  3029
    abcd
skamonkey@3831
  3030
skamonkey@3831
  3031
/a[bcd]*dcdcde/
skamonkey@3831
  3032
    adcdcde
skamonkey@3831
  3033
skamonkey@3831
  3034
/a[bcd]+dcdcde/
skamonkey@3831
  3035
    *** Failers
skamonkey@3831
  3036
    abcde
skamonkey@3831
  3037
    adcdcde
skamonkey@3831
  3038
skamonkey@3831
  3039
/(ab|a)b*c/
skamonkey@3831
  3040
    abc
skamonkey@3831
  3041
skamonkey@3831
  3042
/((a)(b)c)(d)/
skamonkey@3831
  3043
    abcd
skamonkey@3831
  3044
skamonkey@3831
  3045
/[a-zA-Z_][a-zA-Z0-9_]*/
skamonkey@3831
  3046
    alpha
skamonkey@3831
  3047
skamonkey@3831
  3048
/^a(bc+|b[eh])g|.h$/
skamonkey@3831
  3049
    abh
skamonkey@3831
  3050
skamonkey@3831
  3051
/(bc+d$|ef*g.|h?i(j|k))/
skamonkey@3831
  3052
    effgz
skamonkey@3831
  3053
    ij
skamonkey@3831
  3054
    reffgz
skamonkey@3831
  3055
    *** Failers
skamonkey@3831
  3056
    effg
skamonkey@3831
  3057
    bcdd
skamonkey@3831
  3058
skamonkey@3831
  3059
/((((((((((a))))))))))/
skamonkey@3831
  3060
    a
skamonkey@3831
  3061
skamonkey@3831
  3062
/(((((((((a)))))))))/
skamonkey@3831
  3063
    a
skamonkey@3831
  3064
skamonkey@3831
  3065
/multiple words of text/
skamonkey@3831
  3066
    *** Failers
skamonkey@3831
  3067
    aa
skamonkey@3831
  3068
    uh-uh
skamonkey@3831
  3069
skamonkey@3831
  3070
/multiple words/
skamonkey@3831
  3071
    multiple words, yeah
skamonkey@3831
  3072
skamonkey@3831
  3073
/(.*)c(.*)/
skamonkey@3831
  3074
    abcde
skamonkey@3831
  3075
skamonkey@3831
  3076
/\((.*), (.*)\)/
skamonkey@3831
  3077
    (a, b)
skamonkey@3831
  3078
skamonkey@3831
  3079
/[k]/
skamonkey@3831
  3080
skamonkey@3831
  3081
/abcd/
skamonkey@3831
  3082
    abcd
skamonkey@3831
  3083
skamonkey@3831
  3084
/a(bc)d/
skamonkey@3831
  3085
    abcd
skamonkey@3831
  3086
skamonkey@3831
  3087
/a[-]?c/
skamonkey@3831
  3088
    ac
skamonkey@3831
  3089
skamonkey@3831
  3090
/abc/i
skamonkey@3831
  3091
    ABC
skamonkey@3831
  3092
    XABCY
skamonkey@3831
  3093
    ABABC
dvander@2762
  3094
    *** Failers
skamonkey@3831
  3095
    aaxabxbaxbbx
skamonkey@3831
  3096
    XBC
skamonkey@3831
  3097
    AXC
skamonkey@3831
  3098
    ABX
skamonkey@3831
  3099
skamonkey@3831
  3100
/ab*c/i
skamonkey@3831
  3101
    ABC
skamonkey@3831
  3102
skamonkey@3831
  3103
/ab*bc/i
skamonkey@3831
  3104
    ABC
skamonkey@3831
  3105
    ABBC
skamonkey@3831
  3106
skamonkey@3831
  3107
/ab*?bc/i
skamonkey@3831
  3108
    ABBBBC
skamonkey@3831
  3109
skamonkey@3831
  3110
/ab{0,}?bc/i
skamonkey@3831
  3111
    ABBBBC
skamonkey@3831
  3112
skamonkey@3831
  3113
/ab+?bc/i
skamonkey@3831
  3114
    ABBC
skamonkey@3831
  3115
skamonkey@3831
  3116
/ab+bc/i
skamonkey@3831
  3117
    *** Failers
skamonkey@3831
  3118
    ABC
skamonkey@3831
  3119
    ABQ
skamonkey@3831
  3120
skamonkey@3831
  3121
/ab{1,}bc/i
skamonkey@3831
  3122
skamonkey@3831
  3123
/ab+bc/i
skamonkey@3831
  3124
    ABBBBC
skamonkey@3831
  3125
skamonkey@3831
  3126
/ab{1,}?bc/i
skamonkey@3831
  3127
    ABBBBC
skamonkey@3831
  3128
skamonkey@3831
  3129
/ab{1,3}?bc/i
skamonkey@3831
  3130
    ABBBBC
skamonkey@3831
  3131
skamonkey@3831
  3132
/ab{3,4}?bc/i
skamonkey@3831
  3133
    ABBBBC
skamonkey@3831
  3134
skamonkey@3831
  3135
/ab{4,5}?bc/i
skamonkey@3831
  3136
    *** Failers
skamonkey@3831
  3137
    ABQ
skamonkey@3831
  3138
    ABBBBC
skamonkey@3831
  3139
skamonkey@3831
  3140
/ab??bc/i
skamonkey@3831
  3141
    ABBC
skamonkey@3831
  3142
    ABC
skamonkey@3831
  3143
skamonkey@3831
  3144
/ab{0,1}?bc/i
skamonkey@3831
  3145
    ABC
skamonkey@3831
  3146
skamonkey@3831
  3147
/ab??bc/i
skamonkey@3831
  3148
skamonkey@3831
  3149
/ab??c/i
skamonkey@3831
  3150
    ABC
skamonkey@3831
  3151
skamonkey@3831
  3152
/ab{0,1}?c/i
skamonkey@3831
  3153
    ABC
skamonkey@3831
  3154
skamonkey@3831
  3155
/^abc$/i
skamonkey@3831
  3156
    ABC
dvander@2762
  3157
    *** Failers
skamonkey@3831
  3158
    ABBBBC
skamonkey@3831
  3159
    ABCC
skamonkey@3831
  3160
skamonkey@3831
  3161
/^abc/i
skamonkey@3831
  3162
    ABCC
skamonkey@3831
  3163
skamonkey@3831
  3164
/^abc$/i
skamonkey@3831
  3165
skamonkey@3831
  3166
/abc$/i
skamonkey@3831
  3167
    AABC
skamonkey@3831
  3168
skamonkey@3831
  3169
/^/i
skamonkey@3831
  3170
    ABC
skamonkey@3831
  3171
skamonkey@3831
  3172
/$/i
skamonkey@3831
  3173
    ABC
skamonkey@3831
  3174
skamonkey@3831
  3175
/a.c/i
skamonkey@3831
  3176
    ABC
skamonkey@3831
  3177
    AXC
skamonkey@3831
  3178
skamonkey@3831
  3179
/a.*?c/i
skamonkey@3831
  3180
    AXYZC
skamonkey@3831
  3181
skamonkey@3831
  3182
/a.*c/i
skamonkey@3831
  3183
    *** Failers
skamonkey@3831
  3184
    AABC
skamonkey@3831
  3185
    AXYZD
skamonkey@3831
  3186
skamonkey@3831
  3187
/a[bc]d/i
skamonkey@3831
  3188
    ABD
skamonkey@3831
  3189
skamonkey@3831
  3190
/a[b-d]e/i
skamonkey@3831
  3191
    ACE
skamonkey@3831
  3192
    *** Failers
skamonkey@3831
  3193
    ABC
skamonkey@3831
  3194
    ABD
skamonkey@3831
  3195
skamonkey@3831
  3196
/a[b-d]/i
skamonkey@3831
  3197
    AAC
skamonkey@3831
  3198
skamonkey@3831
  3199
/a[-b]/i
skamonkey@3831
  3200
    A-
skamonkey@3831
  3201
skamonkey@3831
  3202
/a[b-]/i
skamonkey@3831
  3203
    A-
skamonkey@3831
  3204
skamonkey@3831
  3205
/a]/i
skamonkey@3831
  3206
    A]
skamonkey@3831
  3207
skamonkey@3831
  3208
/a[]]b/i
skamonkey@3831
  3209
    A]B
skamonkey@3831
  3210
skamonkey@3831
  3211
/a[^bc]d/i
skamonkey@3831
  3212
    AED
skamonkey@3831
  3213
skamonkey@3831
  3214
/a[^-b]c/i
skamonkey@3831
  3215
    ADC
skamonkey@3831
  3216
    *** Failers
skamonkey@3831
  3217
    ABD
skamonkey@3831
  3218
    A-C
skamonkey@3831
  3219
skamonkey@3831
  3220
/a[^]b]c/i
skamonkey@3831
  3221
    ADC
skamonkey@3831
  3222
skamonkey@3831
  3223
/ab|cd/i
skamonkey@3831
  3224
    ABC
skamonkey@3831
  3225
    ABCD
skamonkey@3831
  3226
skamonkey@3831
  3227
/()ef/i
skamonkey@3831
  3228
    DEF
skamonkey@3831
  3229
skamonkey@3831
  3230
/$b/i
dvander@2762
  3231
    *** Failers
skamonkey@3831
  3232
    A]C
skamonkey@3831
  3233
    B
skamonkey@3831
  3234
skamonkey@3831
  3235
/a\(b/i
skamonkey@3831
  3236
    A(B
skamonkey@3831
  3237
skamonkey@3831
  3238
/a\(*b/i
skamonkey@3831
  3239
    AB
skamonkey@3831
  3240
    A((B
skamonkey@3831
  3241
skamonkey@3831
  3242
/a\\b/i
skamonkey@3831
  3243
    A\B
skamonkey@3831
  3244
skamonkey@3831
  3245
/((a))/i
skamonkey@3831
  3246
    ABC
skamonkey@3831
  3247
skamonkey@3831
  3248
/(a)b(c)/i
skamonkey@3831
  3249
    ABC
skamonkey@3831
  3250
skamonkey@3831
  3251
/a+b+c/i
skamonkey@3831
  3252
    AABBABC
skamonkey@3831
  3253
skamonkey@3831
  3254
/a{1,}b{1,}c/i
skamonkey@3831
  3255
    AABBABC
skamonkey@3831
  3256
skamonkey@3831
  3257
/a.+?c/i
skamonkey@3831
  3258
    ABCABC
skamonkey@3831
  3259
skamonkey@3831
  3260
/a.*?c/i
skamonkey@3831
  3261
    ABCABC
skamonkey@3831
  3262
skamonkey@3831
  3263
/a.{0,5}?c/i
skamonkey@3831
  3264
    ABCABC
skamonkey@3831
  3265
skamonkey@3831
  3266
/(a+|b)*/i
skamonkey@3831
  3267
    AB
skamonkey@3831
  3268
skamonkey@3831
  3269
/(a+|b){0,}/i
skamonkey@3831
  3270
    AB
skamonkey@3831
  3271
skamonkey@3831
  3272
/(a+|b)+/i
skamonkey@3831
  3273
    AB
skamonkey@3831
  3274
skamonkey@3831
  3275
/(a+|b){1,}/i
skamonkey@3831
  3276
    AB
skamonkey@3831
  3277
skamonkey@3831
  3278
/(a+|b)?/i
skamonkey@3831
  3279
    AB
skamonkey@3831
  3280
skamonkey@3831
  3281
/(a+|b){0,1}/i
skamonkey@3831
  3282
    AB
skamonkey@3831
  3283
skamonkey@3831
  3284
/(a+|b){0,1}?/i
skamonkey@3831
  3285
    AB
skamonkey@3831
  3286
skamonkey@3831
  3287
/[^ab]*/i
skamonkey@3831
  3288
    CDE
skamonkey@3831
  3289
skamonkey@3831
  3290
/abc/i
skamonkey@3831
  3291
skamonkey@3831
  3292
/a*/i
skamonkey@3831
  3293
    
skamonkey@3831
  3294
skamonkey@3831
  3295
/([abc])*d/i
skamonkey@3831
  3296
    ABBBCD
skamonkey@3831
  3297
skamonkey@3831
  3298
/([abc])*bcd/i
skamonkey@3831
  3299
    ABCD
skamonkey@3831
  3300
skamonkey@3831
  3301
/a|b|c|d|e/i
skamonkey@3831
  3302
    E
skamonkey@3831
  3303
skamonkey@3831
  3304
/(a|b|c|d|e)f/i
skamonkey@3831
  3305
    EF
skamonkey@3831
  3306
skamonkey@3831
  3307
/abcd*efg/i
skamonkey@3831
  3308
    ABCDEFG
skamonkey@3831
  3309
skamonkey@3831
  3310
/ab*/i
skamonkey@3831
  3311
    XABYABBBZ
skamonkey@3831
  3312
    XAYABBBZ
skamonkey@3831
  3313
skamonkey@3831
  3314
/(ab|cd)e/i
skamonkey@3831
  3315
    ABCDE
skamonkey@3831
  3316
skamonkey@3831
  3317
/[abhgefdc]ij/i
skamonkey@3831
  3318
    HIJ
skamonkey@3831
  3319
skamonkey@3831
  3320
/^(ab|cd)e/i
skamonkey@3831
  3321
    ABCDE
skamonkey@3831
  3322
skamonkey@3831
  3323
/(abc|)ef/i
skamonkey@3831
  3324
    ABCDEF
skamonkey@3831
  3325
skamonkey@3831
  3326
/(a|b)c*d/i
skamonkey@3831
  3327
    ABCD
skamonkey@3831
  3328
skamonkey@3831
  3329
/(ab|ab*)bc/i
skamonkey@3831
  3330
    ABC
skamonkey@3831
  3331
skamonkey@3831
  3332
/a([bc]*)c*/i
skamonkey@3831
  3333
    ABC
skamonkey@3831
  3334
skamonkey@3831
  3335
/a([bc]*)(c*d)/i
skamonkey@3831
  3336
    ABCD
skamonkey@3831
  3337
skamonkey@3831
  3338
/a([bc]+)(c*d)/i
skamonkey@3831
  3339
    ABCD
skamonkey@3831
  3340
skamonkey@3831
  3341
/a([bc]*)(c+d)/i
skamonkey@3831
  3342
    ABCD
skamonkey@3831
  3343
skamonkey@3831
  3344
/a[bcd]*dcdcde/i
skamonkey@3831
  3345
    ADCDCDE
skamonkey@3831
  3346
skamonkey@3831
  3347
/a[bcd]+dcdcde/i
skamonkey@3831
  3348
skamonkey@3831
  3349
/(ab|a)b*c/i
skamonkey@3831
  3350
    ABC
skamonkey@3831
  3351
skamonkey@3831
  3352
/((a)(b)c)(d)/i
skamonkey@3831
  3353
    ABCD
skamonkey@3831
  3354
skamonkey@3831
  3355
/[a-zA-Z_][a-zA-Z0-9_]*/i
skamonkey@3831
  3356
    ALPHA
skamonkey@3831
  3357
skamonkey@3831
  3358
/^a(bc+|b[eh])g|.h$/i
skamonkey@3831
  3359
    ABH
skamonkey@3831
  3360
skamonkey@3831
  3361
/(bc+d$|ef*g.|h?i(j|k))/i
skamonkey@3831
  3362
    EFFGZ
skamonkey@3831
  3363
    IJ
skamonkey@3831
  3364
    REFFGZ
skamonkey@3831
  3365
    *** Failers
skamonkey@3831
  3366
    ADCDCDE
skamonkey@3831
  3367
    EFFG
skamonkey@3831
  3368
    BCDD
skamonkey@3831
  3369
skamonkey@3831
  3370
/((((((((((a))))))))))/i
skamonkey@3831
  3371
    A
skamonkey@3831
  3372
skamonkey@3831
  3373
/(((((((((a)))))))))/i
skamonkey@3831
  3374
    A
skamonkey@3831
  3375
skamonkey@3831
  3376
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
skamonkey@3831
  3377
    A
skamonkey@3831
  3378
skamonkey@3831
  3379
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
skamonkey@3831
  3380
    C
skamonkey@3831
  3381
skamonkey@3831
  3382
/multiple words of text/i
dvander@2762
  3383
    *** Failers
skamonkey@3831
  3384
    AA
skamonkey@3831
  3385
    UH-UH
skamonkey@3831
  3386
skamonkey@3831
  3387
/multiple words/i
skamonkey@3831
  3388
    MULTIPLE WORDS, YEAH
skamonkey@3831
  3389
skamonkey@3831
  3390
/(.*)c(.*)/i
skamonkey@3831
  3391
    ABCDE
skamonkey@3831
  3392
skamonkey@3831
  3393
/\((.*), (.*)\)/i
skamonkey@3831
  3394
    (A, B)
skamonkey@3831
  3395
skamonkey@3831
  3396
/[k]/i
skamonkey@3831
  3397
skamonkey@3831
  3398
/abcd/i
skamonkey@3831
  3399
    ABCD
skamonkey@3831
  3400
skamonkey@3831
  3401
/a(bc)d/i
skamonkey@3831
  3402
    ABCD
skamonkey@3831
  3403
skamonkey@3831
  3404
/a[-]?c/i
skamonkey@3831
  3405
    AC
skamonkey@3831
  3406
skamonkey@3831
  3407
/a(?!b)./
skamonkey@3831
  3408
    abad
skamonkey@3831
  3409
skamonkey@3831
  3410
/a(?=d)./
skamonkey@3831
  3411
    abad
skamonkey@3831
  3412
skamonkey@3831
  3413
/a(?=c|d)./
skamonkey@3831
  3414
    abad
skamonkey@3831
  3415
skamonkey@3831
  3416
/a(?:b|c|d)(.)/
skamonkey@3831
  3417
    ace
skamonkey@3831
  3418
skamonkey@3831
  3419
/a(?:b|c|d)*(.)/
skamonkey@3831
  3420
    ace
skamonkey@3831
  3421
skamonkey@3831
  3422
/a(?:b|c|d)+?(.)/
skamonkey@3831
  3423
    ace
skamonkey@3831
  3424
    acdbcdbe
skamonkey@3831
  3425
skamonkey@3831
  3426
/a(?:b|c|d)+(.)/
skamonkey@3831
  3427
    acdbcdbe
skamonkey@3831
  3428
skamonkey@3831
  3429
/a(?:b|c|d){2}(.)/
skamonkey@3831
  3430
    acdbcdbe
skamonkey@3831
  3431
skamonkey@3831
  3432
/a(?:b|c|d){4,5}(.)/
skamonkey@3831
  3433
    acdbcdbe
skamonkey@3831
  3434
skamonkey@3831
  3435
/a(?:b|c|d){4,5}?(.)/
skamonkey@3831
  3436
    acdbcdbe
skamonkey@3831
  3437
skamonkey@3831
  3438
/((foo)|(bar))*/
skamonkey@3831
  3439
    foobar
skamonkey@3831
  3440
skamonkey@3831
  3441
/a(?:b|c|d){6,7}(.)/
skamonkey@3831
  3442
    acdbcdbe
skamonkey@3831
  3443
skamonkey@3831
  3444
/a(?:b|c|d){6,7}?(.)/
skamonkey@3831
  3445
    acdbcdbe
skamonkey@3831
  3446
skamonkey@3831
  3447
/a(?:b|c|d){5,6}(.)/
skamonkey@3831
  3448
    acdbcdbe
skamonkey@3831
  3449
skamonkey@3831
  3450
/a(?:b|c|d){5,6}?(.)/
skamonkey@3831
  3451
    acdbcdbe
skamonkey@3831
  3452
skamonkey@3831
  3453
/a(?:b|c|d){5,7}(.)/
skamonkey@3831
  3454
    acdbcdbe
skamonkey@3831
  3455
skamonkey@3831
  3456
/a(?:b|c|d){5,7}?(.)/
skamonkey@3831
  3457
    acdbcdbe
skamonkey@3831
  3458
skamonkey@3831
  3459
/a(?:b|(c|e){1,2}?|d)+?(.)/
skamonkey@3831
  3460
    ace
skamonkey@3831
  3461
skamonkey@3831
  3462
/^(.+)?B/
skamonkey@3831
  3463
    AB
skamonkey@3831
  3464
skamonkey@3831
  3465
/^([^a-z])|(\^)$/
skamonkey@3831
  3466
    .
skamonkey@3831
  3467
skamonkey@3831
  3468
/^[<>]&/
skamonkey@3831
  3469
    <&OUT
skamonkey@3831
  3470
skamonkey@3831
  3471
/(?:(f)(o)(o)|(b)(a)(r))*/
skamonkey@3831
  3472
    foobar
skamonkey@3831
  3473
skamonkey@3831
  3474
/(?<=a)b/
skamonkey@3831
  3475
    ab
dvander@2762
  3476
    *** Failers
skamonkey@3831
  3477
    cb
skamonkey@3831
  3478
    b
skamonkey@3831
  3479
skamonkey@3831
  3480
/(?<!c)b/
skamonkey@3831
  3481
    ab
skamonkey@3831
  3482
    b
skamonkey@3831
  3483
    b
skamonkey@3831
  3484
skamonkey@3831
  3485
/(?:..)*a/
skamonkey@3831
  3486
    aba
skamonkey@3831
  3487
skamonkey@3831
  3488
/(?:..)*?a/
skamonkey@3831
  3489
    aba
skamonkey@3831
  3490
skamonkey@3831
  3491
/^(){3,5}/
skamonkey@3831
  3492
    abc
skamonkey@3831
  3493
skamonkey@3831
  3494
/^(a+)*ax/
skamonkey@3831
  3495
    aax
skamonkey@3831
  3496
skamonkey@3831
  3497
/^((a|b)+)*ax/
skamonkey@3831
  3498
    aax
skamonkey@3831
  3499
skamonkey@3831
  3500
/^((a|bc)+)*ax/
skamonkey@3831
  3501
    aax
skamonkey@3831
  3502
skamonkey@3831
  3503
/(a|x)*ab/
skamonkey@3831
  3504
    cab
skamonkey@3831
  3505
skamonkey@3831
  3506
/(a)*ab/
skamonkey@3831
  3507
    cab
skamonkey@3831
  3508
skamonkey@3831
  3509
/(?:(?i)a)b/
skamonkey@3831
  3510
    ab
skamonkey@3831
  3511
skamonkey@3831
  3512
/((?i)a)b/
skamonkey@3831
  3513
    ab
skamonkey@3831
  3514
skamonkey@3831
  3515
/(?:(?i)a)b/
skamonkey@3831
  3516
    Ab
skamonkey@3831
  3517
skamonkey@3831
  3518
/((?i)a)b/
skamonkey@3831
  3519
    Ab
skamonkey@3831
  3520
skamonkey@3831
  3521
/(?:(?i)a)b/
skamonkey@3831
  3522
    *** Failers
skamonkey@3831
  3523
    cb
skamonkey@3831
  3524
    aB
skamonkey@3831
  3525
skamonkey@3831
  3526
/((?i)a)b/
skamonkey@3831
  3527
skamonkey@3831
  3528
/(?i:a)b/
skamonkey@3831
  3529
    ab
skamonkey@3831
  3530
skamonkey@3831
  3531
/((?i:a))b/
skamonkey@3831
  3532
    ab
skamonkey@3831
  3533
skamonkey@3831
  3534
/(?i:a)b/
skamonkey@3831
  3535
    Ab
skamonkey@3831
  3536
skamonkey@3831
  3537
/((?i:a))b/
skamonkey@3831
  3538
    Ab
skamonkey@3831
  3539
skamonkey@3831
  3540
/(?i:a)b/
skamonkey@3831
  3541
    *** Failers
skamonkey@3831
  3542
    aB
skamonkey@3831
  3543
    aB
skamonkey@3831
  3544
skamonkey@3831
  3545
/((?i:a))b/
skamonkey@3831
  3546
skamonkey@3831
  3547
/(?:(?-i)a)b/i
skamonkey@3831
  3548
    ab
skamonkey@3831
  3549
skamonkey@3831
  3550
/((?-i)a)b/i
skamonkey@3831
  3551
    ab
skamonkey@3831
  3552
skamonkey@3831
  3553
/(?:(?-i)a)b/i
skamonkey@3831
  3554
    aB
skamonkey@3831
  3555
skamonkey@3831
  3556
/((?-i)a)b/i
skamonkey@3831
  3557
    aB
skamonkey@3831
  3558
skamonkey@3831
  3559
/(?:(?-i)a)b/i
skamonkey@3831
  3560
    *** Failers
skamonkey@3831
  3561
    aB
skamonkey@3831
  3562
    Ab
skamonkey@3831
  3563
skamonkey@3831
  3564
/((?-i)a)b/i
skamonkey@3831
  3565
skamonkey@3831
  3566
/(?:(?-i)a)b/i
skamonkey@3831
  3567
    aB
skamonkey@3831
  3568
skamonkey@3831
  3569
/((?-i)a)b/i
skamonkey@3831
  3570
    aB
skamonkey@3831
  3571
skamonkey@3831
  3572
/(?:(?-i)a)b/i
skamonkey@3831
  3573
    *** Failers
skamonkey@3831
  3574
    Ab
skamonkey@3831
  3575
    AB
skamonkey@3831
  3576
skamonkey@3831
  3577
/((?-i)a)b/i
skamonkey@3831
  3578
skamonkey@3831
  3579
/(?-i:a)b/i
skamonkey@3831
  3580
    ab
skamonkey@3831
  3581
skamonkey@3831
  3582
/((?-i:a))b/i
skamonkey@3831
  3583
    ab
skamonkey@3831
  3584
skamonkey@3831
  3585
/(?-i:a)b/i
skamonkey@3831
  3586
    aB
skamonkey@3831
  3587
skamonkey@3831
  3588
/((?-i:a))b/i
skamonkey@3831
  3589
    aB
skamonkey@3831
  3590
skamonkey@3831
  3591
/(?-i:a)b/i
skamonkey@3831
  3592
    *** Failers
skamonkey@3831
  3593
    AB
skamonkey@3831
  3594
    Ab
skamonkey@3831
  3595
skamonkey@3831
  3596
/((?-i:a))b/i
skamonkey@3831
  3597
skamonkey@3831
  3598
/(?-i:a)b/i
skamonkey@3831
  3599
    aB
skamonkey@3831
  3600
skamonkey@3831
  3601
/((?-i:a))b/i
skamonkey@3831
  3602
    aB
skamonkey@3831
  3603
skamonkey@3831
  3604
/(?-i:a)b/i
skamonkey@3831
  3605
    *** Failers
skamonkey@3831
  3606
    Ab
skamonkey@3831
  3607
    AB
skamonkey@3831
  3608
skamonkey@3831
  3609
/((?-i:a))b/i
skamonkey@3831
  3610
skamonkey@3831
  3611
/((?-i:a.))b/i
dvander@2762
  3612
    *** Failers
skamonkey@3831
  3613
    AB
skamonkey@3831
  3614
    a\nB
skamonkey@3831
  3615
skamonkey@3831
  3616
/((?s-i:a.))b/i
skamonkey@3831
  3617
    a\nB
skamonkey@3831
  3618
skamonkey@3831
  3619
/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
skamonkey@3831
  3620
    cabbbb
skamonkey@3831
  3621
skamonkey@3831
  3622
/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
skamonkey@3831
  3623
    caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
skamonkey@3831
  3624
skamonkey@3831
  3625
/foo\w*\d{4}baz/
skamonkey@3831
  3626
    foobar1234baz
skamonkey@3831
  3627
skamonkey@3831
  3628
/x(~~)*(?:(?:F)?)?/
skamonkey@3831
  3629
    x~~
skamonkey@3831
  3630
skamonkey@3831
  3631
/^a(?#xxx){3}c/
skamonkey@3831
  3632
    aaac
skamonkey@3831
  3633
skamonkey@3831
  3634
/^a (?#xxx) (?#yyy) {3}c/x
skamonkey@3831
  3635
    aaac
skamonkey@3831
  3636
skamonkey@3831
  3637
/(?<![cd])b/
skamonkey@3831
  3638
    *** Failers
skamonkey@3831
  3639
    B\nB
skamonkey@3831
  3640
    dbcb
skamonkey@3831
  3641
skamonkey@3831
  3642
/(?<![cd])[ab]/
skamonkey@3831
  3643
    dbaacb
skamonkey@3831
  3644
skamonkey@3831
  3645
/(?<!(c|d))b/
skamonkey@3831
  3646
skamonkey@3831
  3647
/(?<!(c|d))[ab]/
skamonkey@3831
  3648
    dbaacb
skamonkey@3831
  3649
skamonkey@3831
  3650
/(?<!cd)[ab]/
skamonkey@3831
  3651
    cdaccb
skamonkey@3831
  3652
skamonkey@3831
  3653
/^(?:a?b?)*$/
skamonkey@3831
  3654
    *** Failers
skamonkey@3831
  3655
    dbcb
skamonkey@3831
  3656
    a--
skamonkey@3831
  3657
skamonkey@3831
  3658
/((?s)^a(.))((?m)^b$)/
skamonkey@3831
  3659
    a\nb\nc\n
skamonkey@3831
  3660
skamonkey@3831
  3661
/((?m)^b$)/
skamonkey@3831
  3662
    a\nb\nc\n
skamonkey@3831
  3663
skamonkey@3831
  3664
/(?m)^b/
skamonkey@3831
  3665
    a\nb\n
skamonkey@3831
  3666
skamonkey@3831
  3667
/(?m)^(b)/
skamonkey@3831
  3668
    a\nb\n
skamonkey@3831
  3669
skamonkey@3831
  3670
/((?m)^b)/
skamonkey@3831
  3671
    a\nb\n
skamonkey@3831
  3672
skamonkey@3831
  3673
/\n((?m)^b)/
skamonkey@3831
  3674
    a\nb\n
skamonkey@3831
  3675
skamonkey@3831
  3676
/((?s).)c(?!.)/
skamonkey@3831
  3677
    a\nb\nc\n
skamonkey@3831
  3678
    a\nb\nc\n
skamonkey@3831
  3679
skamonkey@3831
  3680
/((?s)b.)c(?!.)/
skamonkey@3831
  3681
    a\nb\nc\n
skamonkey@3831
  3682
    a\nb\nc\n
skamonkey@3831
  3683
skamonkey@3831
  3684
/^b/
skamonkey@3831
  3685
skamonkey@3831
  3686
/()^b/
skamonkey@3831
  3687
    *** Failers
skamonkey@3831
  3688
    a\nb\nc\n
skamonkey@3831
  3689
    a\nb\nc\n
skamonkey@3831
  3690
skamonkey@3831
  3691
/((?m)^b)/
skamonkey@3831
  3692
    a\nb\nc\n
skamonkey@3831
  3693
skamonkey@3831
  3694
/(?(?!a)a|b)/
skamonkey@3831
  3695
skamonkey@3831
  3696
/(?(?!a)b|a)/
skamonkey@3831
  3697
    a
skamonkey@3831
  3698
skamonkey@3831
  3699
/(?(?=a)b|a)/
skamonkey@3831
  3700
    *** Failers
skamonkey@3831
  3701
    a
skamonkey@3831
  3702
    a
skamonkey@3831
  3703
skamonkey@3831
  3704
/(?(?=a)a|b)/
skamonkey@3831
  3705
    a
skamonkey@3831
  3706
skamonkey@3831
  3707
/(\w+:)+/
skamonkey@3831
  3708
    one:
skamonkey@3831
  3709
skamonkey@3831
  3710
/$(?<=^(a))/
skamonkey@3831
  3711
    a
skamonkey@3831
  3712
skamonkey@3831
  3713
/([\w:]+::)?(\w+)$/
skamonkey@3831
  3714
    abcd
skamonkey@3831
  3715
    xy:z:::abcd
skamonkey@3831
  3716
skamonkey@3831
  3717
/^[^bcd]*(c+)/
skamonkey@3831
  3718
    aexycd
skamonkey@3831
  3719
skamonkey@3831
  3720
/(a*)b+/
skamonkey@3831
  3721
    caab
skamonkey@3831
  3722
skamonkey@3831
  3723
/([\w:]+::)?(\w+)$/
skamonkey@3831
  3724
    abcd
skamonkey@3831
  3725
    xy:z:::abcd
skamonkey@3831
  3726
    *** Failers
skamonkey@3831
  3727
    abcd:
skamonkey@3831
  3728
    abcd:
skamonkey@3831
  3729
skamonkey@3831
  3730
/^[^bcd]*(c+)/
skamonkey@3831
  3731
    aexycd
skamonkey@3831
  3732
skamonkey@3831
  3733
/(>a+)ab/
skamonkey@3831
  3734
skamonkey@3831
  3735
/(?>a+)b/
skamonkey@3831
  3736
    aaab
skamonkey@3831
  3737
skamonkey@3831
  3738
/([[:]+)/
skamonkey@3831
  3739
    a:[b]:
skamonkey@3831
  3740
skamonkey@3831
  3741
/([[=]+)/
skamonkey@3831
  3742
    a=[b]=
skamonkey@3831
  3743
skamonkey@3831
  3744
/([[.]+)/
skamonkey@3831
  3745
    a.[b].
skamonkey@3831
  3746
skamonkey@3831
  3747
/((?>a+)b)/
skamonkey@3831
  3748
    aaab
skamonkey@3831
  3749
skamonkey@3831
  3750
/(?>(a+))b/
skamonkey@3831
  3751
    aaab
skamonkey@3831
  3752
skamonkey@3831
  3753
/((?>[^()]+)|\([^()]*\))+/
skamonkey@3831
  3754
    ((abc(ade)ufh()()x
skamonkey@3831
  3755
skamonkey@3831
  3756
/a\Z/
skamonkey@3831
  3757
    *** Failers
skamonkey@3831
  3758
    aaab
skamonkey@3831
  3759
    a\nb\n
skamonkey@3831
  3760
skamonkey@3831
  3761
/b\Z/
skamonkey@3831
  3762
    a\nb\n
skamonkey@3831
  3763
skamonkey@3831
  3764
/b\z/
skamonkey@3831
  3765
skamonkey@3831
  3766
/b\Z/
skamonkey@3831
  3767
    a\nb
skamonkey@3831
  3768
skamonkey@3831
  3769
/b\z/
skamonkey@3831
  3770
    a\nb
skamonkey@3831
  3771
    *** Failers
skamonkey@3831
  3772
    
skamonkey@3831
  3773
/(?>.*)(?<=(abcd|wxyz))/
skamonkey@3831
  3774
    alphabetabcd
skamonkey@3831
  3775
    endingwxyz
skamonkey@3831
  3776
    *** Failers
skamonkey@3831
  3777
    a rather long string that doesn't end with one of them
skamonkey@3831
  3778
skamonkey@3831
  3779
/word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
skamonkey@3831
  3780
    word cat dog elephant mussel cow horse canary baboon snake shark otherword
skamonkey@3831
  3781
    word cat dog elephant mussel cow horse canary baboon snake shark
dvander@2762
  3782
  
skamonkey@3831
  3783
/word (?>[a-zA-Z0-9]+ ){0,30}otherword/
skamonkey@3831
  3784
    word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
skamonkey@3831
  3785
skamonkey@3831
  3786
/(?<=\d{3}(?!999))foo/
skamonkey@3831
  3787
    999foo
skamonkey@3831
  3788
    123999foo 
skamonkey@3831
  3789
    *** Failers
skamonkey@3831
  3790
    123abcfoo
skamonkey@3831
  3791
    
skamonkey@3831
  3792
/(?<=(?!...999)\d{3})foo/
skamonkey@3831
  3793
    999foo
skamonkey@3831
  3794
    123999foo 
skamonkey@3831
  3795
    *** Failers
skamonkey@3831
  3796
    123abcfoo
skamonkey@3831
  3797
skamonkey@3831
  3798
/(?<=\d{3}(?!999)...)foo/
skamonkey@3831
  3799
    123abcfoo
skamonkey@3831
  3800
    123456foo 
skamonkey@3831
  3801
    *** Failers
skamonkey@3831
  3802
    123999foo  
skamonkey@3831
  3803
    
skamonkey@3831
  3804
/(?<=\d{3}...)(?<!999)foo/
skamonkey@3831
  3805
    123abcfoo   
skamonkey@3831
  3806
    123456foo 
skamonkey@3831
  3807
    *** Failers
skamonkey@3831
  3808
    123999foo  
skamonkey@3831
  3809
skamonkey@3831
  3810
/((Z)+|A)*/
skamonkey@3831
  3811
    ZABCDEFG
skamonkey@3831
  3812
skamonkey@3831
  3813
/(Z()|A)*/
skamonkey@3831
  3814
    ZABCDEFG
skamonkey@3831
  3815
skamonkey@3831
  3816
/(Z(())|A)*/
skamonkey@3831
  3817
    ZABCDEFG
skamonkey@3831
  3818
skamonkey@3831
  3819
/((?>Z)+|A)*/
skamonkey@3831
  3820
    ZABCDEFG
skamonkey@3831
  3821
skamonkey@3831
  3822
/((?>)+|A)*/
skamonkey@3831
  3823
    ZABCDEFG
skamonkey@3831
  3824
skamonkey@3831
  3825
/a*/g
skamonkey@3831
  3826
    abbab
skamonkey@3831
  3827
skamonkey@3831
  3828
/^[a-\d]/
skamonkey@3831
  3829
    abcde
skamonkey@3831
  3830
    -things
skamonkey@3831
  3831
    0digit
skamonkey@3831
  3832
    *** Failers
skamonkey@3831
  3833
    bcdef    
skamonkey@3831
  3834
skamonkey@3831
  3835
/^[\d-a]/
skamonkey@3831
  3836
    abcde
skamonkey@3831
  3837
    -things
skamonkey@3831
  3838
    0digit
skamonkey@3831
  3839
    *** Failers
skamonkey@3831
  3840
    bcdef    
skamonkey@3831
  3841
    
skamonkey@3831
  3842
/[[:space:]]+/
skamonkey@3831
  3843
    > \x09\x0a\x0c\x0d\x0b<
skamonkey@3831
  3844
     
skamonkey@3831
  3845
/[[:blank:]]+/
skamonkey@3831
  3846
    > \x09\x0a\x0c\x0d\x0b<
skamonkey@3831
  3847
     
skamonkey@3831
  3848
/[\s]+/
skamonkey@3831
  3849
    > \x09\x0a\x0c\x0d\x0b<
skamonkey@3831
  3850
     
skamonkey@3831
  3851
/\s+/
skamonkey@3831
  3852
    > \x09\x0a\x0c\x0d\x0b<
skamonkey@3831
  3853
     
skamonkey@3831
  3854
/a
skamonkey@3831
  3855
b/x
skamonkey@3831
  3856
    ab
skamonkey@3831
  3857
skamonkey@3831
  3858
/(?!\A)x/m
skamonkey@3831
  3859
  a\nxb\n
skamonkey@3831
  3860
skamonkey@3831
  3861
/(?!^)x/m
skamonkey@3831
  3862
  a\nxb\n
skamonkey@3831
  3863
skamonkey@3831
  3864
/abc\Qabc\Eabc/
skamonkey@3831
  3865
    abcabcabc
skamonkey@3831
  3866
    
skamonkey@3831
  3867
/abc\Q(*+|\Eabc/
skamonkey@3831
  3868
    abc(*+|abc 
skamonkey@3831
  3869
skamonkey@3831
  3870
/   abc\Q abc\Eabc/x
skamonkey@3831
  3871
    abc abcabc
skamonkey@3831
  3872
    *** Failers
skamonkey@3831
  3873
    abcabcabc  
skamonkey@3831
  3874
    
skamonkey@3831
  3875
/abc#comment
skamonkey@3831
  3876
    \Q#not comment
skamonkey@3831
  3877
    literal\E/x
skamonkey@3831
  3878
    abc#not comment\n    literal     
skamonkey@3831
  3879
skamonkey@3831
  3880
/abc#comment
skamonkey@3831
  3881
    \Q#not comment
skamonkey@3831
  3882
    literal/x
skamonkey@3831
  3883
    abc#not comment\n    literal     
skamonkey@3831
  3884
skamonkey@3831
  3885
/abc#comment
skamonkey@3831
  3886
    \Q#not comment
skamonkey@3831
  3887
    literal\E #more comment
skamonkey@3831
  3888
    /x
skamonkey@3831
  3889
    abc#not comment\n    literal     
skamonkey@3831
  3890
skamonkey@3831
  3891
/abc#comment
skamonkey@3831
  3892
    \Q#not comment
skamonkey@3831
  3893
    literal\E #more comment/x
skamonkey@3831
  3894
    abc#not comment\n    literal     
skamonkey@3831
  3895
skamonkey@3831
  3896
/\Qabc\$xyz\E/
skamonkey@3831
  3897
    abc\\\$xyz
skamonkey@3831
  3898
skamonkey@3831
  3899
/\Qabc\E\$\Qxyz\E/
skamonkey@3831
  3900
    abc\$xyz
skamonkey@3831
  3901
skamonkey@3831
  3902
/\Gabc/
skamonkey@3831
  3903
    abc
skamonkey@3831
  3904
    *** Failers
skamonkey@3831
  3905
    xyzabc  
skamonkey@3831
  3906
skamonkey@3831
  3907
/\Gabc./g
skamonkey@3831
  3908
    abc1abc2xyzabc3
skamonkey@3831
  3909
skamonkey@3831
  3910
/abc./g
skamonkey@3831
  3911
    abc1abc2xyzabc3 
skamonkey@3831
  3912
skamonkey@3831
  3913
/a(?x: b c )d/
skamonkey@3831
  3914
    XabcdY
skamonkey@3831
  3915
    *** Failers 
skamonkey@3831
  3916
    Xa b c d Y 
skamonkey@3831
  3917
skamonkey@3831
  3918
/((?x)x y z | a b c)/
skamonkey@3831
  3919
    XabcY
skamonkey@3831
  3920
    AxyzB 
skamonkey@3831
  3921
skamonkey@3831
  3922
/(?i)AB(?-i)C/
skamonkey@3831
  3923
    XabCY
skamonkey@3831
  3924
    *** Failers
skamonkey@3831
  3925
    XabcY  
skamonkey@3831
  3926
skamonkey@3831
  3927
/((?i)AB(?-i)C|D)E/
skamonkey@3831
  3928
    abCE
skamonkey@3831
  3929
    DE
skamonkey@3831
  3930
    *** Failers
skamonkey@3831
  3931
    abcE
skamonkey@3831
  3932
    abCe  
skamonkey@3831
  3933
    dE
skamonkey@3831
  3934
    De    
skamonkey@3831
  3935
skamonkey@3831
  3936
/[z\Qa-d]\E]/
skamonkey@3831
  3937
    z
skamonkey@3831
  3938
    a
skamonkey@3831
  3939
    -
skamonkey@3831
  3940
    d
skamonkey@3831
  3941
    ] 
skamonkey@3831
  3942
    *** Failers
skamonkey@3831
  3943
    b     
skamonkey@3831
  3944
skamonkey@3831
  3945
/[\z\C]/
skamonkey@3831
  3946
    z
skamonkey@3831
  3947
    C 
skamonkey@3831
  3948
    
skamonkey@3831
  3949
/\M/
skamonkey@3831
  3950
    M 
skamonkey@3831
  3951
    
skamonkey@3831
  3952
/(a+)*b/
skamonkey@3831
  3953
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
skamonkey@3831
  3954
    
skamonkey@3831
  3955
/(?i)reg(?:ul(?:[a�]|ae)r|ex)/
skamonkey@3831
  3956
    REGular
skamonkey@3831
  3957
    regulaer
skamonkey@3831
  3958
    Regex  
skamonkey@3831
  3959
    regul�r 
skamonkey@3831
  3960
skamonkey@3831
  3961
/����[�-��-�]+/
skamonkey@3831
  3962
    �����
skamonkey@3831
  3963
    �����
skamonkey@3831
  3964
    �����
skamonkey@3831
  3965
    �����
skamonkey@3831
  3966
skamonkey@3831
  3967
/(?<=Z)X./
skamonkey@3831
  3968
    \x84XAZXB
skamonkey@3831
  3969
skamonkey@3831
  3970
/^(?(2)a|(1)(2))+$/
skamonkey@3831
  3971
    123a
skamonkey@3831
  3972
skamonkey@3831
  3973
/(?<=a|bbbb)c/
skamonkey@3831
  3974
    ac
skamonkey@3831
  3975
    bbbbc
skamonkey@3831
  3976
skamonkey@3831
  3977
/abc/SS>testsavedregex
skamonkey@3831
  3978
<testsavedregex
skamonkey@3831
  3979
    abc
skamonkey@3831
  3980
    *** Failers
skamonkey@3831
  3981
    bca
skamonkey@3831
  3982
    
skamonkey@3831
  3983
/abc/FSS>testsavedregex
skamonkey@3831
  3984
<testsavedregex
skamonkey@3831
  3985
    abc
skamonkey@3831
  3986
    *** Failers
skamonkey@3831
  3987
    bca
skamonkey@3831
  3988
skamonkey@3831
  3989
/(a|b)/S>testsavedregex
skamonkey@3831
  3990
<testsavedregex
skamonkey@3831
  3991
    abc
skamonkey@3831
  3992
    *** Failers
skamonkey@3831
  3993
    def  
skamonkey@3831
  3994
    
skamonkey@3831
  3995
/(a|b)/SF>testsavedregex
skamonkey@3831
  3996
<testsavedregex
skamonkey@3831
  3997
    abc
skamonkey@3831
  3998
    *** Failers
skamonkey@3831
  3999
    def  
skamonkey@3831
  4000
    
skamonkey@3831
  4001
/line\nbreak/
skamonkey@3831
  4002
    this is a line\nbreak
skamonkey@3831
  4003
    line one\nthis is a line\nbreak in the second line 
skamonkey@3831
  4004
skamonkey@3831
  4005
/line\nbreak/f
skamonkey@3831
  4006
    this is a line\nbreak
skamonkey@3831
  4007
    ** Failers 
skamonkey@3831
  4008
    line one\nthis is a line\nbreak in the second line 
skamonkey@3831
  4009
skamonkey@3831
  4010
/line\nbreak/mf
skamonkey@3831
  4011
    this is a line\nbreak
skamonkey@3831
  4012
    ** Failers 
skamonkey@3831
  4013
    line one\nthis is a line\nbreak in the second line 
skamonkey@3831
  4014
skamonkey@3831
  4015
/1234/
skamonkey@3831
  4016
    123\P
skamonkey@3831
  4017
    a4\P\R
skamonkey@3831
  4018
skamonkey@3831
  4019
/1234/
skamonkey@3831
  4020
    123\P
skamonkey@3831
  4021
    4\P\R
skamonkey@3831
  4022
skamonkey@3831
  4023
/^/mg
skamonkey@3831
  4024
    a\nb\nc\n
skamonkey@3831
  4025
    \ 
skamonkey@3831
  4026
    
skamonkey@3831
  4027
/(?<=C\n)^/mg
skamonkey@3831
  4028
    A\nC\nC\n 
skamonkey@3831
  4029
skamonkey@3831
  4030
/(?s)A?B/
skamonkey@3831
  4031
    AB
skamonkey@3831
  4032
    aB  
skamonkey@3831
  4033
skamonkey@3831
  4034
/(?s)A*B/
skamonkey@3831
  4035
    AB
skamonkey@3831
  4036
    aB  
skamonkey@3831
  4037
skamonkey@3831
  4038
/(?m)A?B/
skamonkey@3831
  4039
    AB
skamonkey@3831
  4040
    aB  
skamonkey@3831
  4041
skamonkey@3831
  4042
/(?m)A*B/
skamonkey@3831
  4043
    AB
skamonkey@3831
  4044
    aB  
skamonkey@3831
  4045
skamonkey@3831
  4046
/Content-Type\x3A[^\r\n]{6,}/
skamonkey@3831
  4047
    Content-Type:xxxxxyyy 
skamonkey@3831
  4048
skamonkey@3831
  4049
/Content-Type\x3A[^\r\n]{6,}z/
skamonkey@3831
  4050
    Content-Type:xxxxxyyyz
skamonkey@3831
  4051
skamonkey@3831
  4052
/Content-Type\x3A[^a]{6,}/
skamonkey@3831
  4053
    Content-Type:xxxyyy 
skamonkey@3831
  4054
skamonkey@3831
  4055
/Content-Type\x3A[^a]{6,}z/
skamonkey@3831
  4056
    Content-Type:xxxyyyz
skamonkey@3831
  4057
skamonkey@3831
  4058
/^abc/m
skamonkey@3831
  4059
    xyz\nabc
skamonkey@3831
  4060
    xyz\nabc\<lf>
skamonkey@3831
  4061
    xyz\r\nabc\<lf>
skamonkey@3831
  4062
    xyz\rabc\<cr>
skamonkey@3831
  4063
    xyz\r\nabc\<crlf>
skamonkey@3831
  4064
    ** Failers 
skamonkey@3831
  4065
    xyz\nabc\<cr>
skamonkey@3831
  4066
    xyz\r\nabc\<cr>
skamonkey@3831
  4067
    xyz\nabc\<crlf>
skamonkey@3831
  4068
    xyz\rabc\<crlf>
skamonkey@3831
  4069
    xyz\rabc\<lf>
skamonkey@3831
  4070
    
skamonkey@3831
  4071
/abc$/m<lf>
skamonkey@3831
  4072
    xyzabc
skamonkey@3831
  4073
    xyzabc\n 
skamonkey@3831
  4074
    xyzabc\npqr 
skamonkey@3831
  4075
    xyzabc\r\<cr> 
skamonkey@3831
  4076
    xyzabc\rpqr\<cr> 
skamonkey@3831
  4077
    xyzabc\r\n\<crlf> 
skamonkey@3831
  4078
    xyzabc\r\npqr\<crlf> 
skamonkey@3831
  4079
    ** Failers
skamonkey@3831
  4080
    xyzabc\r 
skamonkey@3831
  4081
    xyzabc\rpqr 
skamonkey@3831
  4082
    xyzabc\r\n 
skamonkey@3831
  4083
    xyzabc\r\npqr 
skamonkey@3831
  4084
    
skamonkey@3831
  4085
/^abc/m<cr>
skamonkey@3831
  4086
    xyz\rabcdef
skamonkey@3831
  4087
    xyz\nabcdef\<lf>
skamonkey@3831
  4088
    ** Failers  
skamonkey@3831
  4089
    xyz\nabcdef
skamonkey@3831
  4090
       
skamonkey@3831
  4091
/^abc/m<lf>
skamonkey@3831
  4092
    xyz\nabcdef
skamonkey@3831
  4093
    xyz\rabcdef\<cr>
skamonkey@3831
  4094
    ** Failers  
skamonkey@3831
  4095
    xyz\rabcdef
skamonkey@3831
  4096
       
skamonkey@3831
  4097
/^abc/m<crlf>
skamonkey@3831
  4098
    xyz\r\nabcdef
skamonkey@3831
  4099
    xyz\rabcdef\<cr>
skamonkey@3831
  4100
    ** Failers  
skamonkey@3831
  4101
    xyz\rabcdef
skamonkey@3831
  4102
    
skamonkey@3831
  4103
/.*/<lf>
skamonkey@3831
  4104
    abc\ndef
skamonkey@3831
  4105
    abc\rdef
skamonkey@3831
  4106
    abc\r\ndef
skamonkey@3831
  4107
    \<cr>abc\ndef
skamonkey@3831
  4108
    \<cr>abc\rdef
skamonkey@3831
  4109
    \<cr>abc\r\ndef
skamonkey@3831
  4110
    \<crlf>abc\ndef
skamonkey@3831
  4111
    \<crlf>abc\rdef
skamonkey@3831
  4112
    \<crlf>abc\r\ndef
skamonkey@3831
  4113
skamonkey@3831
  4114
/\w+(.)(.)?def/s
skamonkey@3831
  4115
    abc\ndef
skamonkey@3831
  4116
    abc\rdef
skamonkey@3831
  4117
    abc\r\ndef
skamonkey@3831
  4118
skamonkey@3831
  4119
/^\w+=.*(\\\n.*)*/
skamonkey@3831
  4120
    abc=xyz\\\npqr
skamonkey@3831
  4121
skamonkey@3831
  4122
/^(a()*)*/
skamonkey@3831
  4123
    aaaa
skamonkey@3831
  4124
skamonkey@3831
  4125
/^(?:a(?:(?:))*)*/
skamonkey@3831
  4126
    aaaa
skamonkey@3831
  4127
skamonkey@3831
  4128
/^(a()+)+/
skamonkey@3831
  4129
    aaaa
skamonkey@3831
  4130
skamonkey@3831
  4131
/^(?:a(?:(?:))+)+/
skamonkey@3831
  4132
    aaaa
skamonkey@3831
  4133
skamonkey@3831
  4134
/(a|)*\d/
skamonkey@3831
  4135
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
skamonkey@3831
  4136
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
skamonkey@3831
  4137
skamonkey@3831
  4138
/(?>a|)*\d/
skamonkey@3831
  4139
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
skamonkey@3831
  4140
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
skamonkey@3831
  4141
skamonkey@3831
  4142
/(?:a|)*\d/
skamonkey@3831
  4143
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
skamonkey@3831
  4144
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
skamonkey@3831
  4145
skamonkey@3831
  4146
/^a.b/<lf>
skamonkey@3831
  4147
    a\rb
skamonkey@3831
  4148
    a\nb\<cr> 
skamonkey@3831
  4149
    ** Failers
skamonkey@3831
  4150
    a\nb
skamonkey@3831
  4151
    a\nb\<any>
skamonkey@3831
  4152
    a\rb\<cr>   
skamonkey@3831
  4153
    a\rb\<any>   
skamonkey@3831
  4154
skamonkey@3831
  4155
/^abc./mgx<any>
skamonkey@3831
  4156
    abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
skamonkey@3831
  4157
skamonkey@3831
  4158
/abc.$/mgx<any>
skamonkey@3831
  4159
    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
skamonkey@3831
  4160
dvander@2762
  4161
/^a\Rb/<bsr_unicode>
dvander@2762
  4162
    a\nb
dvander@2762
  4163
    a\rb
dvander@2762
  4164
    a\r\nb
dvander@2762
  4165
    a\x0bb
skamonkey@3831
  4166
    a\x0cb
dvander@2762
  4167
    a\x85b   
dvander@2762
  4168
    ** Failers
dvander@2762
  4169
    a\n\rb    
skamonkey@3831
  4170
dvander@2762
  4171
/^a\R*b/<bsr_unicode>
dvander@2762
  4172
    ab
dvander@2762
  4173
    a\nb
dvander@2762
  4174
    a\rb
dvander@2762
  4175
    a\r\nb
skamonkey@3831
  4176
    a\x0bb
skamonkey@3831
  4177
    a\x0cb
dvander@2762
  4178
    a\x85b   
skamonkey@3831
  4179
    a\n\rb    
skamonkey@3831
  4180
    a\n\r\x85\x0cb 
skamonkey@3831
  4181
dvander@2762
  4182
/^a\R+b/<bsr_unicode>
dvander@2762
  4183
    a\nb
dvander@2762
  4184
    a\rb
dvander@2762
  4185
    a\r\nb
skamonkey@3831
  4186
    a\x0bb
skamonkey@3831
  4187
    a\x0cb
dvander@2762
  4188
    a\x85b   
skamonkey@3831
  4189
    a\n\rb    
dvander@2762
  4190
    a\n\r\x85\x0cb 
dvander@2762
  4191
    ** Failers
skamonkey@3831
  4192
    ab  
skamonkey@3831
  4193
    
dvander@2762
  4194
/^a\R{1,3}b/<bsr_unicode>
dvander@2762
  4195
    a\nb
skamonkey@3831
  4196
    a\n\rb
dvander@2762
  4197
    a\n\r\x85b
dvander@2762
  4198
    a\r\n\r\nb 
dvander@2762
  4199
    a\r\n\r\n\r\nb 
dvander@2762
  4200
    a\n\r\n\rb
dvander@2762
  4201
    a\n\n\r\nb 
dvander@2762
  4202
    ** Failers
dvander@2762
  4203
    a\n\n\n\rb
dvander@2762
  4204
    a\r
skamonkey@3831
  4205
skamonkey@3831
  4206
/^a[\R]b/<bsr_unicode>
skamonkey@3831
  4207
    aRb
skamonkey@3831
  4208
    ** Failers
skamonkey@3831
  4209
    a\nb  
skamonkey@3831
  4210
skamonkey@3831
  4211
/.+foo/
skamonkey@3831
  4212
    afoo
skamonkey@3831
  4213
    ** Failers 
skamonkey@3831
  4214
    \r\nfoo 
skamonkey@3831
  4215
    \nfoo 
skamonkey@3831
  4216
skamonkey@3831
  4217
/.+foo/<crlf>
skamonkey@3831
  4218
    afoo
skamonkey@3831
  4219
    \nfoo 
skamonkey@3831
  4220
    ** Failers 
skamonkey@3831
  4221
    \r\nfoo 
skamonkey@3831
  4222
skamonkey@3831
  4223
/.+foo/<any>
skamonkey@3831
  4224
    afoo
skamonkey@3831
  4225
    ** Failers 
skamonkey@3831
  4226
    \nfoo 
skamonkey@3831
  4227
    \r\nfoo 
skamonkey@3831
  4228
skamonkey@3831
  4229
/.+foo/s
skamonkey@3831
  4230
    afoo
skamonkey@3831
  4231
    \r\nfoo 
skamonkey@3831
  4232
    \nfoo 
skamonkey@3831
  4233
skamonkey@3831
  4234
/^$/mg<any>
skamonkey@3831
  4235
    abc\r\rxyz
skamonkey@3831
  4236
    abc\n\rxyz  
skamonkey@3831
  4237
    ** Failers 
skamonkey@3831
  4238
    abc\r\nxyz
skamonkey@3831
  4239
skamonkey@3831
  4240
/^X/m
skamonkey@3831
  4241
    XABC
skamonkey@3831
  4242
    ** Failers 
skamonkey@3831
  4243
    XABC\B
skamonkey@3831
  4244
skamonkey@3831
  4245
/(?m)^$/<any>g+
skamonkey@3831
  4246
    abc\r\n\r\n
skamonkey@3831
  4247
skamonkey@3831
  4248
/(?m)^$|^\r\n/<any>g+ 
skamonkey@3831
  4249
    abc\r\n\r\n
skamonkey@3831
  4250
    
skamonkey@3831
  4251
/(?m)$/<any>g+ 
skamonkey@3831
  4252
    abc\r\n\r\n
skamonkey@3831
  4253
skamonkey@3831
  4254
/(?|(abc)|(xyz))/
skamonkey@3831
  4255
   >abc<
skamonkey@3831
  4256
   >xyz< 
skamonkey@3831
  4257
skamonkey@3831
  4258
/(x)(?|(abc)|(xyz))(x)/
skamonkey@3831
  4259
    xabcx
skamonkey@3831
  4260
    xxyzx 
skamonkey@3831
  4261
skamonkey@3831
  4262
/(x)(?|(abc)(pqr)|(xyz))(x)/
skamonkey@3831
  4263
    xabcpqrx
skamonkey@3831
  4264
    xxyzx 
skamonkey@3831
  4265
skamonkey@3831
  4266
/(?|(abc)|(xyz))(?1)/
skamonkey@3831
  4267
    abcabc
skamonkey@3831
  4268
    xyzabc 
skamonkey@3831
  4269
    ** Failers 
skamonkey@3831
  4270
    xyzxyz 
skamonkey@3831
  4271
 
dvander@2762
  4272
/\H\h\V\v/
dvander@2762
  4273
    X X\x0a
dvander@2762
  4274
    X\x09X\x0b
skamonkey@3831
  4275
    ** Failers
dvander@2762
  4276
    \xa0 X\x0a   
skamonkey@3831
  4277
    
skamonkey@3831
  4278
/\H*\h+\V?\v{3,4}/ 
skamonkey@3831
  4279
    \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
skamonkey@3831
  4280
    \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
dvander@2762
  4281
    \x09\x20\xa0\x0a\x0b\x0c
skamonkey@3831
  4282
    ** Failers 
dvander@2762
  4283
    \x09\x20\xa0\x0a\x0b
skamonkey@3831
  4284
     
skamonkey@3831
  4285
/\H{3,4}/
skamonkey@3831
  4286
    XY  ABCDE
skamonkey@3831
  4287
    XY  PQR ST 
skamonkey@3831
  4288
    
skamonkey@3831
  4289
/.\h{3,4}./
skamonkey@3831
  4290
    XY  AB    PQRS
skamonkey@3831
  4291
skamonkey@3831
  4292
/\h*X\h?\H+Y\H?Z/
skamonkey@3831
  4293
    >XNNNYZ
dvander@2762
  4294
    >  X NYQZ
skamonkey@3831
  4295
    ** Failers
skamonkey@3831
  4296
    >XYZ   
skamonkey@3831
  4297
    >  X NY Z
skamonkey@3831
  4298
skamonkey@3831
  4299
/\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
skamonkey@3831
  4300
    >XY\x0aZ\x0aA\x0bNN\x0c
skamonkey@3831
  4301
    >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
skamonkey@3831
  4302
skamonkey@3831
  4303
/.+A/<crlf>
dvander@2762
  4304
    \r\nA
skamonkey@3831
  4305
    
skamonkey@3831
  4306
/\nA/<crlf>
skamonkey@3831
  4307
    \r\nA 
skamonkey@3831
  4308
skamonkey@3831
  4309
/[\r\n]A/<crlf>
skamonkey@3831
  4310
    \r\nA 
skamonkey@3831
  4311
skamonkey@3831
  4312
/(\r|\n)A/<crlf>
skamonkey@3831
  4313
    \r\nA 
skamonkey@3831
  4314
skamonkey@3831
  4315
/a\Rb/I<bsr_anycrlf>
skamonkey@3831
  4316
    a\rb
skamonkey@3831
  4317
    a\nb
skamonkey@3831
  4318
    a\r\nb
skamonkey@3831
  4319
    ** Failers
skamonkey@3831
  4320
    a\x85b
skamonkey@3831
  4321
    a\x0bb     
skamonkey@3831
  4322
skamonkey@3831
  4323
/a\Rb/I<bsr_unicode>
skamonkey@3831
  4324
    a\rb
skamonkey@3831
  4325
    a\nb
skamonkey@3831
  4326
    a\r\nb
skamonkey@3831
  4327
    a\x85b
dvander@2762
  4328
    a\x0bb     
skamonkey@3831
  4329
    ** Failers 
skamonkey@3831
  4330
    a\x85b\<bsr_anycrlf>
skamonkey@3831
  4331
    a\x0bb\<bsr_anycrlf>
skamonkey@3831
  4332
    
dvander@2762
  4333
/a\R?b/I<bsr_anycrlf>
dvander@2762
  4334
    a\rb
dvander@2762
  4335
    a\nb
dvander@2762
  4336
    a\r\nb
skamonkey@3831
  4337
    ** Failers
dvander@2762
  4338
    a\x85b
dvander@2762
  4339
    a\x0bb     
skamonkey@3831
  4340
dvander@2762
  4341
/a\R?b/I<bsr_unicode>
dvander@2762
  4342
    a\rb
dvander@2762
  4343
    a\nb
skamonkey@3831
  4344
    a\r\nb
dvander@2762
  4345
    a\x85b
dvander@2762
  4346
    a\x0bb     
skamonkey@3831
  4347
    ** Failers 
dvander@2762
  4348
    a\x85b\<bsr_anycrlf>
skamonkey@3831
  4349
    a\x0bb\<bsr_anycrlf>
skamonkey@3831
  4350
    
skamonkey@3831
  4351
/a\R{2,4}b/I<bsr_anycrlf>
skamonkey@3831
  4352
    a\r\n\nb
skamonkey@3831
  4353
    a\n\r\rb
skamonkey@3831
  4354
    a\r\n\r\n\r\n\r\nb
skamonkey@3831
  4355
    ** Failers
skamonkey@3831
  4356
    a\x85\85b
skamonkey@3831
  4357
    a\x0b\0bb     
skamonkey@3831
  4358
skamonkey@3831
  4359
/a\R{2,4}b/I<bsr_unicode>
skamonkey@3831
  4360
    a\r\rb
skamonkey@3831
  4361
    a\n\n\nb
skamonkey@3831
  4362
    a\r\n\n\r\rb
skamonkey@3831
  4363
    a\x85\85b
skamonkey@3831
  4364
    a\x0b\0bb     
skamonkey@3831
  4365
    ** Failers 
skamonkey@3831
  4366
    a\r\r\r\r\rb 
skamonkey@3831
  4367
    a\x85\85b\<bsr_anycrlf>
skamonkey@3831
  4368
    a\x0b\0bb\<bsr_anycrlf>
skamonkey@3831
  4369
    
skamonkey@3831
  4370
/a(?!)|\wbc/
skamonkey@3831
  4371
    abc 
skamonkey@3831
  4372
skamonkey@3831
  4373
/a[]b/<JS>
skamonkey@3831
  4374
    ** Failers
skamonkey@3831
  4375
    ab
skamonkey@3831
  4376
skamonkey@3831
  4377
/a[]+b/<JS>
skamonkey@3831
  4378
    ** Failers
skamonkey@3831
  4379
    ab 
skamonkey@3831
  4380
skamonkey@3831
  4381
/a[]*+b/<JS>
skamonkey@3831
  4382
    ** Failers
skamonkey@3831
  4383
    ab 
skamonkey@3831
  4384
skamonkey@3831
  4385
/a[^]b/<JS>
skamonkey@3831
  4386
    aXb
skamonkey@3831
  4387
    a\nb 
skamonkey@3831
  4388
    ** Failers
skamonkey@3831
  4389
    ab  
skamonkey@3831
  4390
    
skamonkey@3831
  4391
/a[^]+b/<JS> 
skamonkey@3831
  4392
    aXb
skamonkey@3831
  4393
    a\nX\nXb 
skamonkey@3831
  4394
    ** Failers
skamonkey@3831
  4395
    ab  
skamonkey@3831
  4396
skamonkey@3831
  4397
/X$/E
skamonkey@3831
  4398
    X
skamonkey@3831
  4399
    ** Failers 
skamonkey@3831
  4400
    X\n 
skamonkey@3831
  4401
skamonkey@3831
  4402
/X$/
skamonkey@3831
  4403
    X
skamonkey@3831
  4404
    X\n 
skamonkey@3831
  4405
skamonkey@3831
  4406
/xyz/C
skamonkey@3831
  4407
  xyz 
skamonkey@3831
  4408
  abcxyz 
skamonkey@3831
  4409
  abcxyz\Y
skamonkey@3831
  4410
  ** Failers 
skamonkey@3831
  4411
  abc
skamonkey@3831
  4412
  abc\Y
skamonkey@3831
  4413
  abcxypqr  
skamonkey@3831
  4414
  abcxypqr\Y  
skamonkey@3831
  4415
skamonkey@3831
  4416
/(*NO_START_OPT)xyz/C
skamonkey@3831
  4417
  abcxyz 
skamonkey@3831
  4418
  
skamonkey@3831
  4419
/(?C)ab/
skamonkey@3831
  4420
  ab
skamonkey@3831
  4421
  \C-ab
skamonkey@3831
  4422
  
skamonkey@3831
  4423
/ab/C
skamonkey@3831
  4424
  ab
skamonkey@3831
  4425
  \C-ab    
skamonkey@3831
  4426
skamonkey@3831
  4427
/^"((?(?=[a])[^"])|b)*"$/C
skamonkey@3831
  4428
    "ab"
skamonkey@3831
  4429
    \C-"ab"
skamonkey@3831
  4430
skamonkey@3831
  4431
/\d+X|9+Y/
skamonkey@3831
  4432
    ++++123999\P
skamonkey@3831
  4433
    ++++123999Y\P
skamonkey@3831
  4434
skamonkey@3831
  4435
/Z(*F)/
skamonkey@3831
  4436
    Z\P
skamonkey@3831
  4437
    ZA\P 
skamonkey@3831
  4438
    
skamonkey@3831
  4439
/Z(?!)/
skamonkey@3831
  4440
    Z\P 
skamonkey@3831
  4441
    ZA\P 
skamonkey@3831
  4442
skamonkey@3831
  4443
/dog(sbody)?/
skamonkey@3831
  4444
    dogs\P
skamonkey@3831
  4445
    dogs\P\P 
skamonkey@3831
  4446
    
skamonkey@3831
  4447
/dog(sbody)??/
skamonkey@3831
  4448
    dogs\P
skamonkey@3831
  4449
    dogs\P\P 
skamonkey@3831
  4450
skamonkey@3831
  4451
/dog|dogsbody/
skamonkey@3831
  4452
    dogs\P
dvander@2762
  4453
    dogs\P\P 
skamonkey@3831
  4454
 
skamonkey@3831
  4455
/dogsbody|dog/
skamonkey@3831
  4456
    dogs\P
skamonkey@3831
  4457
    dogs\P\P 
skamonkey@3831
  4458
skamonkey@3831
  4459
/Z(*F)Q|ZXY/
skamonkey@3831
  4460
    Z\P
skamonkey@3831
  4461
    ZA\P 
skamonkey@3831
  4462
    X\P 
skamonkey@3831
  4463
skamonkey@3831
  4464
/\bthe cat\b/
skamonkey@3831
  4465
    the cat\P
skamonkey@3831
  4466
    the cat\P\P
skamonkey@3831
  4467
skamonkey@3831
  4468
/dog(sbody)?/
skamonkey@3831
  4469
    dogs\D\P
skamonkey@3831
  4470
    body\D\R
skamonkey@3831
  4471
skamonkey@3831
  4472
/dog(sbody)?/
skamonkey@3831
  4473
    dogs\D\P\P
skamonkey@3831
  4474
    body\D\R
skamonkey@3831
  4475
skamonkey@3831
  4476
/abc/
skamonkey@3831
  4477
   abc\P
skamonkey@3831
  4478
   abc\P\P
skamonkey@3831
  4479
skamonkey@3831
  4480
/abc\K123/
skamonkey@3831
  4481
    xyzabc123pqr
skamonkey@3831
  4482
    
skamonkey@3831
  4483
/(?<=abc)123/
skamonkey@3831
  4484
    xyzabc123pqr 
skamonkey@3831
  4485
    xyzabc12\P
skamonkey@3831
  4486
    xyzabc12\P\P
skamonkey@3831
  4487
skamonkey@3831
  4488
/\babc\b/
skamonkey@3831
  4489
    +++abc+++
skamonkey@3831
  4490
    +++ab\P
skamonkey@3831
  4491
    +++ab\P\P  
skamonkey@3831
  4492
skamonkey@3831
  4493
/(?=C)/g+
skamonkey@3831
  4494
    ABCDECBA
skamonkey@3831
  4495
skamonkey@3831
  4496
/(abc|def|xyz)/I
skamonkey@3831
  4497
    terhjk;abcdaadsfe
skamonkey@3831
  4498
    the quick xyz brown fox 
skamonkey@3831
  4499
    \Yterhjk;abcdaadsfe
skamonkey@3831
  4500
    \Ythe quick xyz brown fox 
skamonkey@3831
  4501
    ** Failers
skamonkey@3831
  4502
    thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
skamonkey@3831
  4503
    \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
skamonkey@3831
  4504
skamonkey@3831
  4505
/(abc|def|xyz)/SI
skamonkey@3831
  4506
    terhjk;abcdaadsfe
skamonkey@3831
  4507
    the quick xyz brown fox 
skamonkey@3831
  4508
    \Yterhjk;abcdaadsfe
skamonkey@3831
  4509
    \Ythe quick xyz brown fox 
skamonkey@3831
  4510
    ** Failers
skamonkey@3831
  4511
    thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
skamonkey@3831
  4512
    \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
skamonkey@3831
  4513
skamonkey@3831
  4514
/abcd*/+
skamonkey@3831
  4515
    xxxxabcd\P
skamonkey@3831
  4516
    xxxxabcd\P\P
skamonkey@3831
  4517
    dddxxx\R 
skamonkey@3831
  4518
    xxxxabcd\P\P
skamonkey@3831
  4519
    xxx\R 
skamonkey@3831
  4520
skamonkey@3831
  4521
/abcd*/i
skamonkey@3831
  4522
    xxxxabcd\P
skamonkey@3831
  4523
    xxxxabcd\P\P
skamonkey@3831
  4524
    XXXXABCD\P
skamonkey@3831
  4525
    XXXXABCD\P\P
skamonkey@3831
  4526
skamonkey@3831
  4527
/abc\d*/
skamonkey@3831
  4528
    xxxxabc1\P
skamonkey@3831
  4529
    xxxxabc1\P\P
skamonkey@3831
  4530
skamonkey@3831
  4531
/abc[de]*/
skamonkey@3831
  4532
    xxxxabcde\P
skamonkey@3831
  4533
    xxxxabcde\P\P
skamonkey@3831
  4534
skamonkey@3831
  4535
/(?:(?1)|B)(A(*F)|C)/
skamonkey@3831
  4536
    ABCD
skamonkey@3831
  4537
    CCD
skamonkey@3831
  4538
    ** Failers
skamonkey@3831
  4539
    CAD   
skamonkey@3831
  4540
skamonkey@3831
  4541
/^(?:(?1)|B)(A(*F)|C)/
skamonkey@3831
  4542
    CCD
skamonkey@3831
  4543
    BCD 
skamonkey@3831
  4544
    ** Failers
skamonkey@3831
  4545
    ABCD
skamonkey@3831
  4546
    CAD
skamonkey@3831
  4547
    BAD    
skamonkey@3831
  4548
skamonkey@3831
  4549
/^(?!a(*SKIP)b)/
skamonkey@3831
  4550
    ac
skamonkey@3831
  4551
    
skamonkey@3831
  4552
/^(?=a(*SKIP)b|ac)/
skamonkey@3831
  4553
    ** Failers
skamonkey@3831
  4554
    ac
skamonkey@3831
  4555
    
skamonkey@3831
  4556
/^(?=a(*THEN)b|ac)/
skamonkey@3831
  4557
    ac
skamonkey@3831
  4558
    
skamonkey@3831
  4559
/^(?=a(*PRUNE)b)/
skamonkey@3831
  4560
    ab  
skamonkey@3831
  4561
    ** Failers 
skamonkey@3831
  4562
    ac
skamonkey@3831
  4563
skamonkey@3831
  4564
/^(?(?!a(*SKIP)b))/
skamonkey@3831
  4565
    ac
skamonkey@3831
  4566
skamonkey@3831
  4567
/(?<=abc)def/
skamonkey@3831
  4568
    abc\P\P
skamonkey@3831
  4569
skamonkey@3831
  4570
/abc$/
skamonkey@3831
  4571
    abc
skamonkey@3831
  4572
    abc\P
skamonkey@3831
  4573
    abc\P\P
skamonkey@3831
  4574
skamonkey@3831
  4575
/abc$/m
skamonkey@3831
  4576
    abc
skamonkey@3831
  4577
    abc\n
skamonkey@3831
  4578
    abc\P\P
skamonkey@3831
  4579
    abc\n\P\P 
skamonkey@3831
  4580
    abc\P
skamonkey@3831
  4581
    abc\n\P
skamonkey@3831
  4582
skamonkey@3831
  4583
/abc\z/
skamonkey@3831
  4584
    abc
skamonkey@3831
  4585
    abc\P
skamonkey@3831
  4586
    abc\P\P
skamonkey@3831
  4587
skamonkey@3831
  4588
/abc\Z/
skamonkey@3831
  4589
    abc
skamonkey@3831
  4590
    abc\P
skamonkey@3831
  4591
    abc\P\P
skamonkey@3831
  4592
skamonkey@3831
  4593
/abc\b/
skamonkey@3831
  4594
    abc
skamonkey@3831
  4595
    abc\P
skamonkey@3831
  4596
    abc\P\P
skamonkey@3831
  4597
skamonkey@3831
  4598
/abc\B/
skamonkey@3831
  4599
    abc
skamonkey@3831
  4600
    abc\P
skamonkey@3831
  4601
    abc\P\P
skamonkey@3831
  4602
skamonkey@3831
  4603
/.+/
skamonkey@3831
  4604
    abc\>0
skamonkey@3831
  4605
    abc\>1
skamonkey@3831
  4606
    abc\>2
skamonkey@3831
  4607
    abc\>3
skamonkey@3831
  4608
    abc\>4
skamonkey@3831
  4609
    abc\>-4 
skamonkey@3831
  4610
skamonkey@3831
  4611
/^(?:a)++\w/
skamonkey@3831
  4612
     aaaab
skamonkey@3831
  4613
     ** Failers 
skamonkey@3831
  4614
     aaaa 
skamonkey@3831
  4615
     bbb 
skamonkey@3831
  4616
skamonkey@3831
  4617
/^(?:aa|(?:a)++\w)/
skamonkey@3831
  4618
     aaaab
skamonkey@3831
  4619
     aaaa 
skamonkey@3831
  4620
     ** Failers 
skamonkey@3831
  4621
     bbb 
skamonkey@3831
  4622
skamonkey@3831
  4623
/^(?:a)*+\w/
skamonkey@3831
  4624
     aaaab
skamonkey@3831
  4625
     bbb 
skamonkey@3831
  4626
     ** Failers 
skamonkey@3831
  4627
     aaaa 
skamonkey@3831
  4628
skamonkey@3831
  4629
/^(a)++\w/
skamonkey@3831
  4630
     aaaab
skamonkey@3831
  4631
     ** Failers 
skamonkey@3831
  4632
     aaaa 
skamonkey@3831
  4633
     bbb 
skamonkey@3831
  4634
skamonkey@3831
  4635
/^(a|)++\w/
skamonkey@3831
  4636
     aaaab
skamonkey@3831
  4637
     ** Failers 
skamonkey@3831
  4638
     aaaa 
skamonkey@3831
  4639
     bbb 
skamonkey@3831
  4640
skamonkey@3831
  4641
/(?=abc){3}abc/+
skamonkey@3831
  4642
    abcabcabc
skamonkey@3831
  4643
    ** Failers
skamonkey@3831
  4644
    xyz  
skamonkey@3831
  4645
    
skamonkey@3831
  4646
/(?=abc)+abc/+
skamonkey@3831
  4647
    abcabcabc
skamonkey@3831
  4648
    ** Failers
skamonkey@3831
  4649
    xyz  
skamonkey@3831
  4650
    
skamonkey@3831
  4651
/(?=abc)++abc/+
skamonkey@3831
  4652
    abcabcabc
skamonkey@3831
  4653
    ** Failers
skamonkey@3831
  4654
    xyz  
skamonkey@3831
  4655
    
skamonkey@3831
  4656
/(?=abc){0}xyz/
skamonkey@3831
  4657
    xyz 
skamonkey@3831
  4658
skamonkey@3831
  4659
/(?=abc){1}xyz/
skamonkey@3831
  4660
    ** Failers
skamonkey@3831
  4661
    xyz 
skamonkey@3831
  4662
    
skamonkey@3831
  4663
/(?=(a))?./
skamonkey@3831
  4664
    ab
skamonkey@3831
  4665
    bc
skamonkey@3831
  4666
      
skamonkey@3831
  4667
/(?=(a))??./
skamonkey@3831
  4668
    ab
skamonkey@3831
  4669
    bc
skamonkey@3831
  4670
skamonkey@3831
  4671
/^(?=(a)){0}b(?1)/
skamonkey@3831
  4672
    backgammon
skamonkey@3831
  4673
skamonkey@3831
  4674
/^(?=(?1))?[az]([abc])d/
skamonkey@3831
  4675
    abd 
skamonkey@3831
  4676
    zcdxx 
skamonkey@3831
  4677
skamonkey@3831
  4678
/^(?!a){0}\w+/
skamonkey@3831
  4679
    aaaaa
skamonkey@3831
  4680
skamonkey@3831
  4681
/(?<=(abc))?xyz/
skamonkey@3831
  4682
    abcxyz
skamonkey@3831
  4683
    pqrxyz 
skamonkey@3831
  4684
skamonkey@3831
  4685
/((?2))((?1))/
skamonkey@3831
  4686
    abc
skamonkey@3831
  4687
skamonkey@3831
  4688
/(?(R)a+|(?R)b)/
skamonkey@3831
  4689
    aaaabcde
skamonkey@3831
  4690
skamonkey@3831
  4691
/(?(R)a+|((?R))b)/
skamonkey@3831
  4692
    aaaabcde
skamonkey@3831
  4693
skamonkey@3831
  4694
/((?(R)a+|(?1)b))/
skamonkey@3831
  4695
    aaaabcde
skamonkey@3831
  4696
skamonkey@3831
  4697
/((?(R2)a+|(?1)b))/
skamonkey@3831
  4698
    aaaabcde
skamonkey@3831
  4699
skamonkey@3831
  4700
/(?(R)a*(?1)|((?R))b)/
skamonkey@3831
  4701
    aaaabcde
skamonkey@3831
  4702
skamonkey@3831
  4703
/(a+)/
skamonkey@3831
  4704
    \O6aaaa
skamonkey@3831
  4705
    \O8aaaa
skamonkey@3831
  4706
skamonkey@3831
  4707
/ab\Cde/
skamonkey@3831
  4708
    abXde
skamonkey@3831
  4709
    
skamonkey@3831
  4710
/(?<=ab\Cde)X/
skamonkey@3831
  4711
    abZdeX
skamonkey@3831
  4712
skamonkey@3831
  4713
/^\R/
skamonkey@3831
  4714
    \r\P
skamonkey@3831
  4715
    \r\P\P
skamonkey@3831
  4716
    
skamonkey@3831
  4717
/^\R{2,3}x/
skamonkey@3831
  4718
    \r\P
skamonkey@3831
  4719
    \r\P\P
skamonkey@3831
  4720
    \r\r\P 
skamonkey@3831
  4721
    \r\r\P\P
skamonkey@3831
  4722
    \r\r\r\P  
skamonkey@3831
  4723
    \r\r\r\P\P
skamonkey@3831
  4724
    \r\rx
skamonkey@3831
  4725
    \r\r\rx    
skamonkey@3831
  4726
skamonkey@3831
  4727
/^\R{2,3}?x/
skamonkey@3831
  4728
    \r\P
skamonkey@3831
  4729
    \r\P\P
skamonkey@3831
  4730
    \r\r\P 
skamonkey@3831
  4731
    \r\r\P\P
skamonkey@3831
  4732
    \r\r\r\P  
skamonkey@3831
  4733
    \r\r\r\P\P
skamonkey@3831
  4734
    \r\rx
skamonkey@3831
  4735
    \r\r\rx    
skamonkey@3831
  4736
    
skamonkey@3831
  4737
/^\R?x/
skamonkey@3831
  4738
    \r\P
skamonkey@3831
  4739
    \r\P\P 
skamonkey@3831
  4740
    x
skamonkey@3831
  4741
    \rx  
skamonkey@3831
  4742
skamonkey@3831
  4743
/^\R+x/
skamonkey@3831
  4744
    \r\P
skamonkey@3831
  4745
    \r\P\P 
skamonkey@3831
  4746
    \r\n\P
skamonkey@3831
  4747
    \r\n\P\P  
skamonkey@3831
  4748
    \rx  
skamonkey@3831
  4749
skamonkey@3831
  4750
/^a$/<CRLF>
skamonkey@3831
  4751
    a\r\P
skamonkey@3831
  4752
    a\r\P\P 
skamonkey@3831
  4753
skamonkey@3831
  4754
/^a$/m<CRLF>
skamonkey@3831
  4755
    a\r\P
skamonkey@3831
  4756
    a\r\P\P 
skamonkey@3831
  4757
skamonkey@3831
  4758
/^(a$|a\r)/<CRLF>
skamonkey@3831
  4759
    a\r\P
skamonkey@3831
  4760
    a\r\P\P 
skamonkey@3831
  4761
skamonkey@3831
  4762
/^(a$|a\r)/m<CRLF>
skamonkey@3831
  4763
    a\r\P
skamonkey@3831
  4764
    a\r\P\P 
skamonkey@3831
  4765
skamonkey@3831
  4766
/./<CRLF>
skamonkey@3831
  4767
    \r\P
skamonkey@3831
  4768
    \r\P\P 
skamonkey@3831
  4769
  
skamonkey@3831
  4770
/.{2,3}/<CRLF>
skamonkey@3831
  4771
    \r\P 
skamonkey@3831
  4772
    \r\P\P
skamonkey@3831
  4773
    \r\r\P
skamonkey@3831
  4774
    \r\r\P\P
skamonkey@3831
  4775
    \r\r\r\P
skamonkey@3831
  4776
    \r\r\r\P\P     
skamonkey@3831
  4777
skamonkey@3831
  4778
/.{2,3}?/<CRLF>
skamonkey@3831
  4779
    \r\P 
skamonkey@3831
  4780
    \r\P\P
skamonkey@3831
  4781
    \r\r\P
skamonkey@3831
  4782
    \r\r\P\P
skamonkey@3831
  4783
    \r\r\r\P
skamonkey@3831
  4784
    \r\r\r\P\P     
skamonkey@3831
  4785
skamonkey@3831
  4786
/-- Test simple validity check for restarts --/
skamonkey@3831
  4787
skamonkey@3831
  4788
/abcdef/
skamonkey@3831
  4789
   abc\R
skamonkey@3831
  4790
skamonkey@3831
  4791
/<H((?(?!<H|F>)(.)|(?R))++)*F>/
skamonkey@3831
  4792
    text <H more text <H texting more  hexA0-"\xA0"    hex above 7F-"\xBC" F> text xxxxx <H text F> text F> text2 <H text sample F> more text.
skamonkey@3831
  4793
skamonkey@3831
  4794
/^(?>.{4})abc|^\w\w.xabcd/
skamonkey@3831
  4795
    xxxxabcd
skamonkey@3831
  4796
    xx\xa0xabcd 
skamonkey@3831
  4797
skamonkey@3831
  4798
/^(.{4}){2}+abc|^\w\w.x\w\w\w\wabcd/
skamonkey@3831
  4799
    xxxxxxxxabcd
skamonkey@3831
  4800
    xx\xa0xxxxxabcd 
skamonkey@3831
  4801