tools/pcre/testdata/testinput2
author John Schoenick <john@pointysoftware.net>
Wed Jun 01 20:36:16 2011 -0400 (2011-06-01)
changeset 3292 f428ffc8a3fe
parent 2762 d2d467bf1b5a
child 3831 babd0eee3c5e
permissions -rw-r--r--
Fixed regression in FindEntityByClassname from bug 4899 (bug 4941, r=predcrab).
dvander@2762
     1
/(a)b|/I
dvander@2762
     2
dvander@2762
     3
/abc/I
dvander@2762
     4
    abc
dvander@2762
     5
    defabc
dvander@2762
     6
    \Aabc
dvander@2762
     7
    *** Failers
dvander@2762
     8
    \Adefabc
dvander@2762
     9
    ABC
dvander@2762
    10
dvander@2762
    11
/^abc/I
dvander@2762
    12
    abc
dvander@2762
    13
    \Aabc
dvander@2762
    14
    *** Failers
dvander@2762
    15
    defabc
dvander@2762
    16
    \Adefabc
dvander@2762
    17
dvander@2762
    18
/a+bc/I
dvander@2762
    19
dvander@2762
    20
/a*bc/I
dvander@2762
    21
dvander@2762
    22
/a{3}bc/I
dvander@2762
    23
dvander@2762
    24
/(abc|a+z)/I
dvander@2762
    25
dvander@2762
    26
/^abc$/I
dvander@2762
    27
    abc
dvander@2762
    28
    *** Failers
dvander@2762
    29
    def\nabc
dvander@2762
    30
dvander@2762
    31
/ab\idef/X
dvander@2762
    32
dvander@2762
    33
/(?X)ab\idef/X
dvander@2762
    34
dvander@2762
    35
/x{5,4}/
dvander@2762
    36
dvander@2762
    37
/z{65536}/
dvander@2762
    38
dvander@2762
    39
/[abcd/
dvander@2762
    40
dvander@2762
    41
/(?X)[\B]/
dvander@2762
    42
dvander@2762
    43
/[z-a]/
dvander@2762
    44
dvander@2762
    45
/^*/
dvander@2762
    46
dvander@2762
    47
/(abc/
dvander@2762
    48
dvander@2762
    49
/(?# abc/
dvander@2762
    50
dvander@2762
    51
/(?z)abc/
dvander@2762
    52
dvander@2762
    53
/.*b/I
dvander@2762
    54
dvander@2762
    55
/.*?b/I
dvander@2762
    56
dvander@2762
    57
/cat|dog|elephant/I
dvander@2762
    58
    this sentence eventually mentions a cat
dvander@2762
    59
    this sentences rambles on and on for a while and then reaches elephant
dvander@2762
    60
dvander@2762
    61
/cat|dog|elephant/IS
dvander@2762
    62
    this sentence eventually mentions a cat
dvander@2762
    63
    this sentences rambles on and on for a while and then reaches elephant
dvander@2762
    64
dvander@2762
    65
/cat|dog|elephant/IiS
dvander@2762
    66
    this sentence eventually mentions a CAT cat
dvander@2762
    67
    this sentences rambles on and on for a while to elephant ElePhant
dvander@2762
    68
dvander@2762
    69
/a|[bcd]/IS
dvander@2762
    70
dvander@2762
    71
/(a|[^\dZ])/IS
dvander@2762
    72
dvander@2762
    73
/(a|b)*[\s]/IS
dvander@2762
    74
dvander@2762
    75
/(ab\2)/
dvander@2762
    76
dvander@2762
    77
/{4,5}abc/
dvander@2762
    78
dvander@2762
    79
/(a)(b)(c)\2/I
dvander@2762
    80
    abcb
dvander@2762
    81
    \O0abcb
dvander@2762
    82
    \O3abcb
dvander@2762
    83
    \O6abcb
dvander@2762
    84
    \O9abcb
dvander@2762
    85
    \O12abcb
dvander@2762
    86
dvander@2762
    87
/(a)bc|(a)(b)\2/I
dvander@2762
    88
    abc
dvander@2762
    89
    \O0abc
dvander@2762
    90
    \O3abc
dvander@2762
    91
    \O6abc
dvander@2762
    92
    aba
dvander@2762
    93
    \O0aba
dvander@2762
    94
    \O3aba
dvander@2762
    95
    \O6aba
dvander@2762
    96
    \O9aba
dvander@2762
    97
    \O12aba
dvander@2762
    98
dvander@2762
    99
/abc$/IE
dvander@2762
   100
    abc
dvander@2762
   101
    *** Failers
dvander@2762
   102
    abc\n
dvander@2762
   103
    abc\ndef
dvander@2762
   104
dvander@2762
   105
/(a)(b)(c)(d)(e)\6/
dvander@2762
   106
dvander@2762
   107
/the quick brown fox/I
dvander@2762
   108
    the quick brown fox
dvander@2762
   109
    this is a line with the quick brown fox
dvander@2762
   110
dvander@2762
   111
/the quick brown fox/IA
dvander@2762
   112
    the quick brown fox
dvander@2762
   113
    *** Failers
dvander@2762
   114
    this is a line with the quick brown fox
dvander@2762
   115
dvander@2762
   116
/ab(?z)cd/
dvander@2762
   117
dvander@2762
   118
/^abc|def/I
dvander@2762
   119
    abcdef
dvander@2762
   120
    abcdef\B
dvander@2762
   121
dvander@2762
   122
/.*((abc)$|(def))/I
dvander@2762
   123
    defabc
dvander@2762
   124
    \Zdefabc
dvander@2762
   125
dvander@2762
   126
/abc/IP
dvander@2762
   127
    abc
dvander@2762
   128
    *** Failers
dvander@2762
   129
dvander@2762
   130
/^abc|def/IP
dvander@2762
   131
    abcdef
dvander@2762
   132
    abcdef\B
dvander@2762
   133
dvander@2762
   134
/.*((abc)$|(def))/IP
dvander@2762
   135
    defabc
dvander@2762
   136
    \Zdefabc
dvander@2762
   137
dvander@2762
   138
/the quick brown fox/IP
dvander@2762
   139
    the quick brown fox
dvander@2762
   140
    *** Failers
dvander@2762
   141
    The Quick Brown Fox
dvander@2762
   142
dvander@2762
   143
/the quick brown fox/IPi
dvander@2762
   144
    the quick brown fox
dvander@2762
   145
    The Quick Brown Fox
dvander@2762
   146
dvander@2762
   147
/abc.def/IP
dvander@2762
   148
    *** Failers
dvander@2762
   149
    abc\ndef
dvander@2762
   150
dvander@2762
   151
/abc$/IP
dvander@2762
   152
    abc
dvander@2762
   153
    abc\n
dvander@2762
   154
dvander@2762
   155
/(abc)\2/IP
dvander@2762
   156
dvander@2762
   157
/(abc\1)/IP
dvander@2762
   158
    abc
dvander@2762
   159
dvander@2762
   160
/)/
dvander@2762
   161
dvander@2762
   162
/a[]b/
dvander@2762
   163
dvander@2762
   164
/[^aeiou ]{3,}/I
dvander@2762
   165
    co-processors, and for
dvander@2762
   166
dvander@2762
   167
/<.*>/I
dvander@2762
   168
    abc<def>ghi<klm>nop
dvander@2762
   169
dvander@2762
   170
/<.*?>/I
dvander@2762
   171
    abc<def>ghi<klm>nop
dvander@2762
   172
dvander@2762
   173
/<.*>/IU
dvander@2762
   174
    abc<def>ghi<klm>nop
dvander@2762
   175
dvander@2762
   176
/(?U)<.*>/I
dvander@2762
   177
    abc<def>ghi<klm>nop
dvander@2762
   178
dvander@2762
   179
/<.*?>/IU
dvander@2762
   180
    abc<def>ghi<klm>nop
dvander@2762
   181
dvander@2762
   182
/={3,}/IU
dvander@2762
   183
    abc========def
dvander@2762
   184
dvander@2762
   185
/(?U)={3,}?/I
dvander@2762
   186
    abc========def
dvander@2762
   187
dvander@2762
   188
/(?<!bar|cattle)foo/I
dvander@2762
   189
    foo
dvander@2762
   190
    catfoo
dvander@2762
   191
    *** Failers
dvander@2762
   192
    the barfoo
dvander@2762
   193
    and cattlefoo
dvander@2762
   194
dvander@2762
   195
/(?<=a+)b/
dvander@2762
   196
dvander@2762
   197
/(?<=aaa|b{0,3})b/
dvander@2762
   198
dvander@2762
   199
/(?<!(foo)a\1)bar/
dvander@2762
   200
dvander@2762
   201
/(?i)abc/I
dvander@2762
   202
dvander@2762
   203
/(a|(?m)a)/I
dvander@2762
   204
dvander@2762
   205
/(?i)^1234/I
dvander@2762
   206
dvander@2762
   207
/(^b|(?i)^d)/I
dvander@2762
   208
dvander@2762
   209
/(?s).*/I
dvander@2762
   210
dvander@2762
   211
/[abcd]/IS
dvander@2762
   212
dvander@2762
   213
/(?i)[abcd]/IS
dvander@2762
   214
dvander@2762
   215
/(?m)[xy]|(b|c)/IS
dvander@2762
   216
dvander@2762
   217
/(^a|^b)/Im
dvander@2762
   218
dvander@2762
   219
/(?i)(^a|^b)/Im
dvander@2762
   220
dvander@2762
   221
/(a)(?(1)a|b|c)/
dvander@2762
   222
dvander@2762
   223
/(?(?=a)a|b|c)/
dvander@2762
   224
dvander@2762
   225
/(?(1a)/
dvander@2762
   226
dvander@2762
   227
/(?(1a))/
dvander@2762
   228
dvander@2762
   229
/(?(?i))/
dvander@2762
   230
dvander@2762
   231
/(?(abc))/
dvander@2762
   232
dvander@2762
   233
/(?(?<ab))/
dvander@2762
   234
dvander@2762
   235
/((?s)blah)\s+\1/I
dvander@2762
   236
dvander@2762
   237
/((?i)blah)\s+\1/I
dvander@2762
   238
dvander@2762
   239
/((?i)b)/IDZS
dvander@2762
   240
dvander@2762
   241
/(a*b|(?i:c*(?-i)d))/IS
dvander@2762
   242
dvander@2762
   243
/a$/I
dvander@2762
   244
    a
dvander@2762
   245
    a\n
dvander@2762
   246
    *** Failers
dvander@2762
   247
    \Za
dvander@2762
   248
    \Za\n
dvander@2762
   249
dvander@2762
   250
/a$/Im
dvander@2762
   251
    a
dvander@2762
   252
    a\n
dvander@2762
   253
    \Za\n
dvander@2762
   254
    *** Failers
dvander@2762
   255
    \Za
dvander@2762
   256
dvander@2762
   257
/\Aabc/Im
dvander@2762
   258
dvander@2762
   259
/^abc/Im
dvander@2762
   260
dvander@2762
   261
/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
dvander@2762
   262
  aaaaabbbbbcccccdef
dvander@2762
   263
dvander@2762
   264
/(?<=foo)[ab]/IS
dvander@2762
   265
dvander@2762
   266
/(?<!foo)(alpha|omega)/IS
dvander@2762
   267
dvander@2762
   268
/(?!alphabet)[ab]/IS
dvander@2762
   269
dvander@2762
   270
/(?<=foo\n)^bar/Im
dvander@2762
   271
    foo\nbarbar
dvander@2762
   272
    ***Failers
dvander@2762
   273
    rhubarb
dvander@2762
   274
    barbell
dvander@2762
   275
    abc\nbarton
dvander@2762
   276
dvander@2762
   277
/^(?<=foo\n)bar/Im
dvander@2762
   278
    foo\nbarbar
dvander@2762
   279
    ***Failers
dvander@2762
   280
    rhubarb
dvander@2762
   281
    barbell
dvander@2762
   282
    abc\nbarton
dvander@2762
   283
dvander@2762
   284
/(?>^abc)/Im
dvander@2762
   285
    abc
dvander@2762
   286
    def\nabc
dvander@2762
   287
    *** Failers
dvander@2762
   288
    defabc
dvander@2762
   289
dvander@2762
   290
/(?<=ab(c+)d)ef/
dvander@2762
   291
dvander@2762
   292
/(?<=ab(?<=c+)d)ef/
dvander@2762
   293
dvander@2762
   294
/(?<=ab(c|de)f)g/
dvander@2762
   295
dvander@2762
   296
/The next three are in testinput2 because they have variable length branches/
dvander@2762
   297
dvander@2762
   298
/(?<=bullock|donkey)-cart/I
dvander@2762
   299
    the bullock-cart
dvander@2762
   300
    a donkey-cart race
dvander@2762
   301
    *** Failers
dvander@2762
   302
    cart
dvander@2762
   303
    horse-and-cart
dvander@2762
   304
dvander@2762
   305
/(?<=ab(?i)x|y|z)/I
dvander@2762
   306
dvander@2762
   307
/(?>.*)(?<=(abcd)|(xyz))/I
dvander@2762
   308
    alphabetabcd
dvander@2762
   309
    endingxyz
dvander@2762
   310
dvander@2762
   311
/(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
dvander@2762
   312
    abxyZZ
dvander@2762
   313
    abXyZZ
dvander@2762
   314
    ZZZ
dvander@2762
   315
    zZZ
dvander@2762
   316
    bZZ
dvander@2762
   317
    BZZ
dvander@2762
   318
    *** Failers
dvander@2762
   319
    ZZ
dvander@2762
   320
    abXYZZ
dvander@2762
   321
    zzz
dvander@2762
   322
    bzz
dvander@2762
   323
dvander@2762
   324
/(?<!(foo)a)bar/I
dvander@2762
   325
    bar
dvander@2762
   326
    foobbar
dvander@2762
   327
    *** Failers
dvander@2762
   328
    fooabar
dvander@2762
   329
dvander@2762
   330
/This one is here because Perl 5.005_02 doesn't fail it/I
dvander@2762
   331
dvander@2762
   332
/^(a)?(?(1)a|b)+$/I
dvander@2762
   333
    *** Failers
dvander@2762
   334
    a
dvander@2762
   335
dvander@2762
   336
/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
dvander@2762
   337
dvander@2762
   338
/^(a\1?){4}$/I
dvander@2762
   339
    aaaaaa
dvander@2762
   340
dvander@2762
   341
/These are syntax tests from Perl 5.005/I
dvander@2762
   342
dvander@2762
   343
/a[b-a]/
dvander@2762
   344
dvander@2762
   345
/a[]b/
dvander@2762
   346
dvander@2762
   347
/a[/
dvander@2762
   348
dvander@2762
   349
/*a/
dvander@2762
   350
dvander@2762
   351
/(*)b/
dvander@2762
   352
dvander@2762
   353
/abc)/
dvander@2762
   354
dvander@2762
   355
/(abc/
dvander@2762
   356
dvander@2762
   357
/a**/
dvander@2762
   358
dvander@2762
   359
/)(/
dvander@2762
   360
dvander@2762
   361
/\1/
dvander@2762
   362
dvander@2762
   363
/\2/
dvander@2762
   364
dvander@2762
   365
/(a)|\2/
dvander@2762
   366
dvander@2762
   367
/a[b-a]/Ii
dvander@2762
   368
dvander@2762
   369
/a[]b/Ii
dvander@2762
   370
dvander@2762
   371
/a[/Ii
dvander@2762
   372
dvander@2762
   373
/*a/Ii
dvander@2762
   374
dvander@2762
   375
/(*)b/Ii
dvander@2762
   376
dvander@2762
   377
/abc)/Ii
dvander@2762
   378
dvander@2762
   379
/(abc/Ii
dvander@2762
   380
dvander@2762
   381
/a**/Ii
dvander@2762
   382
dvander@2762
   383
/)(/Ii
dvander@2762
   384
dvander@2762
   385
/:(?:/
dvander@2762
   386
dvander@2762
   387
/(?<%)b/
dvander@2762
   388
dvander@2762
   389
/a(?{)b/
dvander@2762
   390
dvander@2762
   391
/a(?{{})b/
dvander@2762
   392
dvander@2762
   393
/a(?{}})b/
dvander@2762
   394
dvander@2762
   395
/a(?{"{"})b/
dvander@2762
   396
dvander@2762
   397
/a(?{"{"}})b/
dvander@2762
   398
dvander@2762
   399
/(?(1?)a|b)/
dvander@2762
   400
dvander@2762
   401
/[a[:xyz:/
dvander@2762
   402
dvander@2762
   403
/(?<=x+)y/
dvander@2762
   404
dvander@2762
   405
/a{37,17}/
dvander@2762
   406
dvander@2762
   407
/abc/\
dvander@2762
   408
dvander@2762
   409
/abc/\P
dvander@2762
   410
dvander@2762
   411
/abc/\i
dvander@2762
   412
dvander@2762
   413
/(a)bc(d)/I
dvander@2762
   414
    abcd
dvander@2762
   415
    abcd\C2
dvander@2762
   416
    abcd\C5
dvander@2762
   417
dvander@2762
   418
/(.{20})/I
dvander@2762
   419
    abcdefghijklmnopqrstuvwxyz
dvander@2762
   420
    abcdefghijklmnopqrstuvwxyz\C1
dvander@2762
   421
    abcdefghijklmnopqrstuvwxyz\G1
dvander@2762
   422
dvander@2762
   423
/(.{15})/I
dvander@2762
   424
    abcdefghijklmnopqrstuvwxyz
dvander@2762
   425
    abcdefghijklmnopqrstuvwxyz\C1\G1
dvander@2762
   426
dvander@2762
   427
/(.{16})/I
dvander@2762
   428
    abcdefghijklmnopqrstuvwxyz
dvander@2762
   429
    abcdefghijklmnopqrstuvwxyz\C1\G1\L
dvander@2762
   430
dvander@2762
   431
/^(a|(bc))de(f)/I
dvander@2762
   432
    adef\G1\G2\G3\G4\L
dvander@2762
   433
    bcdef\G1\G2\G3\G4\L
dvander@2762
   434
    adefghijk\C0
dvander@2762
   435
dvander@2762
   436
/^abc\00def/I
dvander@2762
   437
    abc\00def\L\C0
dvander@2762
   438
dvander@2762
   439
/word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
dvander@2762
   440
)((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
dvander@2762
   441
)?)?)?)?)?)?)?)?)?otherword/I
dvander@2762
   442
dvander@2762
   443
/.*X/IDZ
dvander@2762
   444
dvander@2762
   445
/.*X/IDZs
dvander@2762
   446
dvander@2762
   447
/(.*X|^B)/IDZ
dvander@2762
   448
dvander@2762
   449
/(.*X|^B)/IDZs
dvander@2762
   450
dvander@2762
   451
/(?s)(.*X|^B)/IDZ
dvander@2762
   452
dvander@2762
   453
/(?s:.*X|^B)/IDZ
dvander@2762
   454
dvander@2762
   455
/\Biss\B/I+
dvander@2762
   456
    Mississippi
dvander@2762
   457
dvander@2762
   458
/\Biss\B/I+P
dvander@2762
   459
    Mississippi
dvander@2762
   460
dvander@2762
   461
/iss/IG+
dvander@2762
   462
    Mississippi
dvander@2762
   463
dvander@2762
   464
/\Biss\B/IG+
dvander@2762
   465
    Mississippi
dvander@2762
   466
dvander@2762
   467
/\Biss\B/Ig+
dvander@2762
   468
    Mississippi
dvander@2762
   469
    *** Failers
dvander@2762
   470
    Mississippi\A
dvander@2762
   471
dvander@2762
   472
/(?<=[Ms])iss/Ig+
dvander@2762
   473
    Mississippi
dvander@2762
   474
dvander@2762
   475
/(?<=[Ms])iss/IG+
dvander@2762
   476
    Mississippi
dvander@2762
   477
dvander@2762
   478
/^iss/Ig+
dvander@2762
   479
    ississippi
dvander@2762
   480
dvander@2762
   481
/.*iss/Ig+
dvander@2762
   482
    abciss\nxyzisspqr
dvander@2762
   483
dvander@2762
   484
/.i./I+g
dvander@2762
   485
    Mississippi
dvander@2762
   486
    Mississippi\A
dvander@2762
   487
    Missouri river
dvander@2762
   488
    Missouri river\A
dvander@2762
   489
dvander@2762
   490
/^.is/I+g
dvander@2762
   491
    Mississippi
dvander@2762
   492
dvander@2762
   493
/^ab\n/Ig+
dvander@2762
   494
    ab\nab\ncd
dvander@2762
   495
dvander@2762
   496
/^ab\n/Img+
dvander@2762
   497
    ab\nab\ncd
dvander@2762
   498
dvander@2762
   499
/abc/I
dvander@2762
   500
dvander@2762
   501
/abc|bac/I
dvander@2762
   502
dvander@2762
   503
/(abc|bac)/I
dvander@2762
   504
dvander@2762
   505
/(abc|(c|dc))/I
dvander@2762
   506
dvander@2762
   507
/(abc|(d|de)c)/I
dvander@2762
   508
dvander@2762
   509
/a*/I
dvander@2762
   510
dvander@2762
   511
/a+/I
dvander@2762
   512
dvander@2762
   513
/(baa|a+)/I
dvander@2762
   514
dvander@2762
   515
/a{0,3}/I
dvander@2762
   516
dvander@2762
   517
/baa{3,}/I
dvander@2762
   518
dvander@2762
   519
/"([^\\"]+|\\.)*"/I
dvander@2762
   520
dvander@2762
   521
/(abc|ab[cd])/I
dvander@2762
   522
dvander@2762
   523
/(a|.)/I
dvander@2762
   524
dvander@2762
   525
/a|ba|\w/I
dvander@2762
   526
dvander@2762
   527
/abc(?=pqr)/I
dvander@2762
   528
dvander@2762
   529
/...(?<=abc)/I
dvander@2762
   530
dvander@2762
   531
/abc(?!pqr)/I
dvander@2762
   532
dvander@2762
   533
/ab./I
dvander@2762
   534
dvander@2762
   535
/ab[xyz]/I
dvander@2762
   536
dvander@2762
   537
/abc*/I
dvander@2762
   538
dvander@2762
   539
/ab.c*/I
dvander@2762
   540
dvander@2762
   541
/a.c*/I
dvander@2762
   542
dvander@2762
   543
/.c*/I
dvander@2762
   544
dvander@2762
   545
/ac*/I
dvander@2762
   546
dvander@2762
   547
/(a.c*|b.c*)/I
dvander@2762
   548
dvander@2762
   549
/a.c*|aba/I
dvander@2762
   550
dvander@2762
   551
/.+a/I
dvander@2762
   552
dvander@2762
   553
/(?=abcda)a.*/I
dvander@2762
   554
dvander@2762
   555
/(?=a)a.*/I
dvander@2762
   556
dvander@2762
   557
/a(b)*/I
dvander@2762
   558
dvander@2762
   559
/a\d*/I
dvander@2762
   560
dvander@2762
   561
/ab\d*/I
dvander@2762
   562
dvander@2762
   563
/a(\d)*/I
dvander@2762
   564
dvander@2762
   565
/abcde{0,0}/I
dvander@2762
   566
dvander@2762
   567
/ab\d+/I
dvander@2762
   568
dvander@2762
   569
/a(?(1)b)(.)/I
dvander@2762
   570
dvander@2762
   571
/a(?(1)bag|big)(.)/I
dvander@2762
   572
dvander@2762
   573
/a(?(1)bag|big)*(.)/I
dvander@2762
   574
dvander@2762
   575
/a(?(1)bag|big)+(.)/I
dvander@2762
   576
dvander@2762
   577
/a(?(1)b..|b..)(.)/I
dvander@2762
   578
dvander@2762
   579
/ab\d{0}e/I
dvander@2762
   580
dvander@2762
   581
/a?b?/I
dvander@2762
   582
    a
dvander@2762
   583
    b
dvander@2762
   584
    ab
dvander@2762
   585
    \
dvander@2762
   586
    *** Failers
dvander@2762
   587
    \N
dvander@2762
   588
dvander@2762
   589
/|-/I
dvander@2762
   590
    abcd
dvander@2762
   591
    -abc
dvander@2762
   592
    \Nab-c
dvander@2762
   593
    *** Failers
dvander@2762
   594
    \Nabc
dvander@2762
   595
dvander@2762
   596
/a*(b+)(z)(z)/IP
dvander@2762
   597
    aaaabbbbzzzz
dvander@2762
   598
    aaaabbbbzzzz\O0
dvander@2762
   599
    aaaabbbbzzzz\O1
dvander@2762
   600
    aaaabbbbzzzz\O2
dvander@2762
   601
    aaaabbbbzzzz\O3
dvander@2762
   602
    aaaabbbbzzzz\O4
dvander@2762
   603
    aaaabbbbzzzz\O5
dvander@2762
   604
dvander@2762
   605
/^.?abcd/IS
dvander@2762
   606
dvander@2762
   607
/\(             # ( at start
dvander@2762
   608
  (?:           # Non-capturing bracket
dvander@2762
   609
  (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
dvander@2762
   610
  |             # Or
dvander@2762
   611
  (?R)          # Recurse - i.e. nested bracketed string
dvander@2762
   612
  )*            # Zero or more contents
dvander@2762
   613
  \)            # Closing )
dvander@2762
   614
  /Ix
dvander@2762
   615
    (abcd)
dvander@2762
   616
    (abcd)xyz
dvander@2762
   617
    xyz(abcd)
dvander@2762
   618
    (ab(xy)cd)pqr
dvander@2762
   619
    (ab(xycd)pqr
dvander@2762
   620
    () abc ()
dvander@2762
   621
    12(abcde(fsh)xyz(foo(bar))lmno)89
dvander@2762
   622
    *** Failers
dvander@2762
   623
    abcd
dvander@2762
   624
    abcd)
dvander@2762
   625
    (abcd
dvander@2762
   626
dvander@2762
   627
/\(  ( (?>[^()]+) | (?R) )* \) /Ixg
dvander@2762
   628
    (ab(xy)cd)pqr
dvander@2762
   629
    1(abcd)(x(y)z)pqr
dvander@2762
   630
dvander@2762
   631
/\(  (?: (?>[^()]+) | (?R) ) \) /Ix
dvander@2762
   632
    (abcd)
dvander@2762
   633
    (ab(xy)cd)
dvander@2762
   634
    (a(b(c)d)e)
dvander@2762
   635
    ((ab))
dvander@2762
   636
    *** Failers
dvander@2762
   637
    ()
dvander@2762
   638
dvander@2762
   639
/\(  (?: (?>[^()]+) | (?R) )? \) /Ix
dvander@2762
   640
    ()
dvander@2762
   641
    12(abcde(fsh)xyz(foo(bar))lmno)89
dvander@2762
   642
dvander@2762
   643
/\(  ( (?>[^()]+) | (?R) )* \) /Ix
dvander@2762
   644
    (ab(xy)cd)
dvander@2762
   645
dvander@2762
   646
/\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
dvander@2762
   647
    (ab(xy)cd)
dvander@2762
   648
dvander@2762
   649
/\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
dvander@2762
   650
    (ab(xy)cd)
dvander@2762
   651
    (123ab(xy)cd)
dvander@2762
   652
dvander@2762
   653
/\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
dvander@2762
   654
    (ab(xy)cd)
dvander@2762
   655
    (123ab(xy)cd)
dvander@2762
   656
dvander@2762
   657
/\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
dvander@2762
   658
    (ab(xy)cd)
dvander@2762
   659
dvander@2762
   660
/\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
dvander@2762
   661
    (abcd(xyz<p>qrs)123)
dvander@2762
   662
dvander@2762
   663
/\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
dvander@2762
   664
    (ab(cd)ef)
dvander@2762
   665
    (ab(cd(ef)gh)ij)
dvander@2762
   666
dvander@2762
   667
/^[[:alnum:]]/DZ
dvander@2762
   668
dvander@2762
   669
/^[[:^alnum:]]/DZ
dvander@2762
   670
dvander@2762
   671
/^[[:alpha:]]/DZ
dvander@2762
   672
dvander@2762
   673
/^[[:^alpha:]]/DZ
dvander@2762
   674
dvander@2762
   675
/[_[:alpha:]]/IS
dvander@2762
   676
dvander@2762
   677
/^[[:ascii:]]/DZ
dvander@2762
   678
dvander@2762
   679
/^[[:^ascii:]]/DZ
dvander@2762
   680
dvander@2762
   681
/^[[:blank:]]/DZ
dvander@2762
   682
dvander@2762
   683
/^[[:^blank:]]/DZ
dvander@2762
   684
dvander@2762
   685
/[\n\x0b\x0c\x0d[:blank:]]/IS
dvander@2762
   686
dvander@2762
   687
/^[[:cntrl:]]/DZ
dvander@2762
   688
dvander@2762
   689
/^[[:digit:]]/DZ
dvander@2762
   690
dvander@2762
   691
/^[[:graph:]]/DZ
dvander@2762
   692
dvander@2762
   693
/^[[:lower:]]/DZ
dvander@2762
   694
dvander@2762
   695
/^[[:print:]]/DZ
dvander@2762
   696
dvander@2762
   697
/^[[:punct:]]/DZ
dvander@2762
   698
dvander@2762
   699
/^[[:space:]]/DZ
dvander@2762
   700
dvander@2762
   701
/^[[:upper:]]/DZ
dvander@2762
   702
dvander@2762
   703
/^[[:xdigit:]]/DZ
dvander@2762
   704
dvander@2762
   705
/^[[:word:]]/DZ
dvander@2762
   706
dvander@2762
   707
/^[[:^cntrl:]]/DZ
dvander@2762
   708
dvander@2762
   709
/^[12[:^digit:]]/DZ
dvander@2762
   710
dvander@2762
   711
/^[[:^blank:]]/DZ
dvander@2762
   712
dvander@2762
   713
/[01[:alpha:]%]/DZ
dvander@2762
   714
dvander@2762
   715
/[[.ch.]]/I
dvander@2762
   716
dvander@2762
   717
/[[=ch=]]/I
dvander@2762
   718
dvander@2762
   719
/[[:rhubarb:]]/I
dvander@2762
   720
dvander@2762
   721
/[[:upper:]]/Ii
dvander@2762
   722
    A
dvander@2762
   723
    a
dvander@2762
   724
dvander@2762
   725
/[[:lower:]]/Ii
dvander@2762
   726
    A
dvander@2762
   727
    a
dvander@2762
   728
dvander@2762
   729
/((?-i)[[:lower:]])[[:lower:]]/Ii
dvander@2762
   730
    ab
dvander@2762
   731
    aB
dvander@2762
   732
    *** Failers
dvander@2762
   733
    Ab
dvander@2762
   734
    AB
dvander@2762
   735
dvander@2762
   736
/[\200-\110]/I
dvander@2762
   737
dvander@2762
   738
/^(?(0)f|b)oo/I
dvander@2762
   739
dvander@2762
   740
/This one's here because of the large output vector needed/I
dvander@2762
   741
dvander@2762
   742
/(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
dvander@2762
   743
    \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
dvander@2762
   744
dvander@2762
   745
/This one's here because Perl does this differently and PCRE can't at present/I
dvander@2762
   746
dvander@2762
   747
/(main(O)?)+/I
dvander@2762
   748
    mainmain
dvander@2762
   749
    mainOmain
dvander@2762
   750
dvander@2762
   751
/These are all cases where Perl does it differently (nested captures)/I
dvander@2762
   752
dvander@2762
   753
/^(a(b)?)+$/I
dvander@2762
   754
    aba
dvander@2762
   755
dvander@2762
   756
/^(aa(bb)?)+$/I
dvander@2762
   757
    aabbaa
dvander@2762
   758
dvander@2762
   759
/^(aa|aa(bb))+$/I
dvander@2762
   760
    aabbaa
dvander@2762
   761
dvander@2762
   762
/^(aa(bb)??)+$/I
dvander@2762
   763
    aabbaa
dvander@2762
   764
dvander@2762
   765
/^(?:aa(bb)?)+$/I
dvander@2762
   766
    aabbaa
dvander@2762
   767
dvander@2762
   768
/^(aa(b(b))?)+$/I
dvander@2762
   769
    aabbaa
dvander@2762
   770
dvander@2762
   771
/^(?:aa(b(b))?)+$/I
dvander@2762
   772
    aabbaa
dvander@2762
   773
dvander@2762
   774
/^(?:aa(b(?:b))?)+$/I
dvander@2762
   775
    aabbaa
dvander@2762
   776
dvander@2762
   777
/^(?:aa(bb(?:b))?)+$/I
dvander@2762
   778
    aabbbaa
dvander@2762
   779
dvander@2762
   780
/^(?:aa(b(?:bb))?)+$/I
dvander@2762
   781
    aabbbaa
dvander@2762
   782
dvander@2762
   783
/^(?:aa(?:b(b))?)+$/I
dvander@2762
   784
    aabbaa
dvander@2762
   785
dvander@2762
   786
/^(?:aa(?:b(bb))?)+$/I
dvander@2762
   787
    aabbbaa
dvander@2762
   788
dvander@2762
   789
/^(aa(b(bb))?)+$/I
dvander@2762
   790
    aabbbaa
dvander@2762
   791
dvander@2762
   792
/^(aa(bb(bb))?)+$/I
dvander@2762
   793
    aabbbbaa
dvander@2762
   794
dvander@2762
   795
/--------------------------------------------------------------------/I
dvander@2762
   796
dvander@2762
   797
/#/IxDZ
dvander@2762
   798
dvander@2762
   799
/a#/IxDZ
dvander@2762
   800
dvander@2762
   801
/[\s]/DZ
dvander@2762
   802
dvander@2762
   803
/[\S]/DZ
dvander@2762
   804
dvander@2762
   805
/a(?i)b/DZ
dvander@2762
   806
    ab
dvander@2762
   807
    aB
dvander@2762
   808
    *** Failers
dvander@2762
   809
    AB
dvander@2762
   810
dvander@2762
   811
/(a(?i)b)/DZ
dvander@2762
   812
    ab
dvander@2762
   813
    aB
dvander@2762
   814
    *** Failers
dvander@2762
   815
    AB
dvander@2762
   816
dvander@2762
   817
/   (?i)abc/IxDZ
dvander@2762
   818
dvander@2762
   819
/#this is a comment
dvander@2762
   820
  (?i)abc/IxDZ
dvander@2762
   821
dvander@2762
   822
/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
dvander@2762
   823
dvander@2762
   824
/\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
dvander@2762
   825
dvander@2762
   826
/\Q\E/DZ
dvander@2762
   827
    \
dvander@2762
   828
dvander@2762
   829
/\Q\Ex/DZ
dvander@2762
   830
dvander@2762
   831
/ \Q\E/DZ
dvander@2762
   832
dvander@2762
   833
/a\Q\E/DZ
dvander@2762
   834
  abc
dvander@2762
   835
  bca
dvander@2762
   836
  bac
dvander@2762
   837
dvander@2762
   838
/a\Q\Eb/DZ
dvander@2762
   839
  abc
dvander@2762
   840
dvander@2762
   841
/\Q\Eabc/DZ
dvander@2762
   842
dvander@2762
   843
/x*+\w/DZ
dvander@2762
   844
    *** Failers
dvander@2762
   845
    xxxxx
dvander@2762
   846
dvander@2762
   847
/x?+/DZ
dvander@2762
   848
dvander@2762
   849
/x++/DZ
dvander@2762
   850
dvander@2762
   851
/x{1,3}+/DZ
dvander@2762
   852
dvander@2762
   853
/(x)*+/DZ
dvander@2762
   854
dvander@2762
   855
/^(\w++|\s++)*$/I
dvander@2762
   856
    now is the time for all good men to come to the aid of the party
dvander@2762
   857
    *** Failers
dvander@2762
   858
    this is not a line with only words and spaces!
dvander@2762
   859
dvander@2762
   860
/(\d++)(\w)/I
dvander@2762
   861
    12345a
dvander@2762
   862
    *** Failers
dvander@2762
   863
    12345+
dvander@2762
   864
dvander@2762
   865
/a++b/I
dvander@2762
   866
    aaab
dvander@2762
   867
dvander@2762
   868
/(a++b)/I
dvander@2762
   869
    aaab
dvander@2762
   870
dvander@2762
   871
/(a++)b/I
dvander@2762
   872
    aaab
dvander@2762
   873
dvander@2762
   874
/([^()]++|\([^()]*\))+/I
dvander@2762
   875
    ((abc(ade)ufh()()x
dvander@2762
   876
dvander@2762
   877
/\(([^()]++|\([^()]+\))+\)/I
dvander@2762
   878
    (abc)
dvander@2762
   879
    (abc(def)xyz)
dvander@2762
   880
    *** Failers
dvander@2762
   881
    ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dvander@2762
   882
dvander@2762
   883
/(abc){1,3}+/DZ
dvander@2762
   884
dvander@2762
   885
/a+?+/I
dvander@2762
   886
dvander@2762
   887
/a{2,3}?+b/I
dvander@2762
   888
dvander@2762
   889
/(?U)a+?+/I
dvander@2762
   890
dvander@2762
   891
/a{2,3}?+b/IU
dvander@2762
   892
dvander@2762
   893
/x(?U)a++b/DZ
dvander@2762
   894
    xaaaab
dvander@2762
   895
dvander@2762
   896
/(?U)xa++b/DZ
dvander@2762
   897
    xaaaab
dvander@2762
   898
dvander@2762
   899
/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
dvander@2762
   900
dvander@2762
   901
/^x(?U)a+b/DZ
dvander@2762
   902
dvander@2762
   903
/^x(?U)(a+)b/DZ
dvander@2762
   904
dvander@2762
   905
/[.x.]/I
dvander@2762
   906
dvander@2762
   907
/[=x=]/I
dvander@2762
   908
dvander@2762
   909
/[:x:]/I
dvander@2762
   910
dvander@2762
   911
/\l/I
dvander@2762
   912
dvander@2762
   913
/\L/I
dvander@2762
   914
dvander@2762
   915
/\N{name}/I
dvander@2762
   916
dvander@2762
   917
/\u/I
dvander@2762
   918
dvander@2762
   919
/\U/I
dvander@2762
   920
dvander@2762
   921
/[/I
dvander@2762
   922
dvander@2762
   923
/[a-/I
dvander@2762
   924
dvander@2762
   925
/[[:space:]/I
dvander@2762
   926
dvander@2762
   927
/[\s]/IDZ
dvander@2762
   928
dvander@2762
   929
/[[:space:]]/IDZ
dvander@2762
   930
dvander@2762
   931
/[[:space:]abcde]/IDZ
dvander@2762
   932
dvander@2762
   933
/< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
dvander@2762
   934
    <>
dvander@2762
   935
    <abcd>
dvander@2762
   936
    <abc <123> hij>
dvander@2762
   937
    <abc <def> hij>
dvander@2762
   938
    <abc<>def>
dvander@2762
   939
    <abc<>
dvander@2762
   940
    *** Failers
dvander@2762
   941
    <abc
dvander@2762
   942
dvander@2762
   943
|8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
dvander@2762
   944
dvander@2762
   945
|\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
dvander@2762
   946
dvander@2762
   947
/(.*)\d+\1/I
dvander@2762
   948
dvander@2762
   949
/(.*)\d+/I
dvander@2762
   950
dvander@2762
   951
/(.*)\d+\1/Is
dvander@2762
   952
dvander@2762
   953
/(.*)\d+/Is
dvander@2762
   954
dvander@2762
   955
/(.*(xyz))\d+\2/I
dvander@2762
   956
dvander@2762
   957
/((.*))\d+\1/I
dvander@2762
   958
    abc123bc
dvander@2762
   959
dvander@2762
   960
/a[b]/I
dvander@2762
   961
dvander@2762
   962
/(?=a).*/I
dvander@2762
   963
dvander@2762
   964
/(?=abc).xyz/IiI
dvander@2762
   965
dvander@2762
   966
/(?=abc)(?i).xyz/I
dvander@2762
   967
dvander@2762
   968
/(?=a)(?=b)/I
dvander@2762
   969
dvander@2762
   970
/(?=.)a/I
dvander@2762
   971
dvander@2762
   972
/((?=abcda)a)/I
dvander@2762
   973
dvander@2762
   974
/((?=abcda)ab)/I
dvander@2762
   975
dvander@2762
   976
/()a/I
dvander@2762
   977
dvander@2762
   978
/(?(1)ab|ac)(.)/I
dvander@2762
   979
dvander@2762
   980
/(?(1)abz|acz)(.)/I
dvander@2762
   981
dvander@2762
   982
/(?(1)abz)(.)/I
dvander@2762
   983
dvander@2762
   984
/(?(1)abz)(1)23/I
dvander@2762
   985
dvander@2762
   986
/(a)+/I
dvander@2762
   987
dvander@2762
   988
/(a){2,3}/I
dvander@2762
   989
dvander@2762
   990
/(a)*/I
dvander@2762
   991
dvander@2762
   992
/[a]/I
dvander@2762
   993
dvander@2762
   994
/[ab]/I
dvander@2762
   995
dvander@2762
   996
/[ab]/IS
dvander@2762
   997
dvander@2762
   998
/[^a]/I
dvander@2762
   999
dvander@2762
  1000
/\d456/I
dvander@2762
  1001
dvander@2762
  1002
/\d456/IS
dvander@2762
  1003
dvander@2762
  1004
/a^b/I
dvander@2762
  1005
dvander@2762
  1006
/^a/Im
dvander@2762
  1007
  abcde
dvander@2762
  1008
  xy\nabc
dvander@2762
  1009
  *** Failers
dvander@2762
  1010
  xyabc
dvander@2762
  1011
dvander@2762
  1012
/c|abc/I
dvander@2762
  1013
dvander@2762
  1014
/(?i)[ab]/IS
dvander@2762
  1015
dvander@2762
  1016
/[ab](?i)cd/IS
dvander@2762
  1017
dvander@2762
  1018
/abc(?C)def/I
dvander@2762
  1019
    abcdef
dvander@2762
  1020
    1234abcdef
dvander@2762
  1021
    *** Failers
dvander@2762
  1022
    abcxyz
dvander@2762
  1023
    abcxyzf
dvander@2762
  1024
dvander@2762
  1025
/abc(?C)de(?C1)f/I
dvander@2762
  1026
    123abcdef
dvander@2762
  1027
dvander@2762
  1028
/(?C1)\dabc(?C2)def/I
dvander@2762
  1029
    1234abcdef
dvander@2762
  1030
    *** Failers
dvander@2762
  1031
    abcdef
dvander@2762
  1032
dvander@2762
  1033
/(?C255)ab/I
dvander@2762
  1034
dvander@2762
  1035
/(?C256)ab/I
dvander@2762
  1036
dvander@2762
  1037
/(?Cab)xx/I
dvander@2762
  1038
dvander@2762
  1039
/(?C12vr)x/I
dvander@2762
  1040
dvander@2762
  1041
/abc(?C)def/I
dvander@2762
  1042
    *** Failers
dvander@2762
  1043
    \x83\x0\x61bcdef
dvander@2762
  1044
dvander@2762
  1045
/(abc)(?C)de(?C1)f/I
dvander@2762
  1046
    123abcdef
dvander@2762
  1047
    123abcdef\C+
dvander@2762
  1048
    123abcdef\C-
dvander@2762
  1049
    *** Failers
dvander@2762
  1050
    123abcdef\C!1
dvander@2762
  1051
dvander@2762
  1052
/(?C0)(abc(?C1))*/I
dvander@2762
  1053
    abcabcabc
dvander@2762
  1054
    abcabc\C!1!3
dvander@2762
  1055
    *** Failers
dvander@2762
  1056
    abcabcabc\C!1!3
dvander@2762
  1057
dvander@2762
  1058
/(\d{3}(?C))*/I
dvander@2762
  1059
    123\C+
dvander@2762
  1060
    123456\C+
dvander@2762
  1061
    123456789\C+
dvander@2762
  1062
dvander@2762
  1063
/((xyz)(?C)p|(?C1)xyzabc)/I
dvander@2762
  1064
    xyzabc\C+
dvander@2762
  1065
dvander@2762
  1066
/(X)((xyz)(?C)p|(?C1)xyzabc)/I
dvander@2762
  1067
    Xxyzabc\C+
dvander@2762
  1068
dvander@2762
  1069
/(?=(abc))(?C)abcdef/I
dvander@2762
  1070
    abcdef\C+
dvander@2762
  1071
dvander@2762
  1072
/(?!(abc)(?C1)d)(?C2)abcxyz/I
dvander@2762
  1073
    abcxyz\C+
dvander@2762
  1074
dvander@2762
  1075
/(?<=(abc)(?C))xyz/I
dvander@2762
  1076
   abcxyz\C+
dvander@2762
  1077
dvander@2762
  1078
/a(b+)(c*)(?C1)/I
dvander@2762
  1079
    abbbbbccc\C*1
dvander@2762
  1080
dvander@2762
  1081
/a(b+?)(c*?)(?C1)/I
dvander@2762
  1082
    abbbbbccc\C*1
dvander@2762
  1083
dvander@2762
  1084
/(?C)abc/I
dvander@2762
  1085
dvander@2762
  1086
/(?C)^abc/I
dvander@2762
  1087
dvander@2762
  1088
/(?C)a|b/IS
dvander@2762
  1089
dvander@2762
  1090
/(?R)/I
dvander@2762
  1091
dvander@2762
  1092
/(a|(?R))/I
dvander@2762
  1093
dvander@2762
  1094
/(ab|(bc|(de|(?R))))/I
dvander@2762
  1095
dvander@2762
  1096
/x(ab|(bc|(de|(?R))))/I
dvander@2762
  1097
    xab
dvander@2762
  1098
    xbc
dvander@2762
  1099
    xde
dvander@2762
  1100
    xxab
dvander@2762
  1101
    xxxab
dvander@2762
  1102
    *** Failers
dvander@2762
  1103
    xyab
dvander@2762
  1104
dvander@2762
  1105
/(ab|(bc|(de|(?1))))/I
dvander@2762
  1106
dvander@2762
  1107
/x(ab|(bc|(de|(?1)x)x)x)/I
dvander@2762
  1108
dvander@2762
  1109
/^([^()]|\((?1)*\))*$/I
dvander@2762
  1110
    abc
dvander@2762
  1111
    a(b)c
dvander@2762
  1112
    a(b(c))d
dvander@2762
  1113
    *** Failers)
dvander@2762
  1114
    a(b(c)d
dvander@2762
  1115
dvander@2762
  1116
/^>abc>([^()]|\((?1)*\))*<xyz<$/I
dvander@2762
  1117
   >abc>123<xyz<
dvander@2762
  1118
   >abc>1(2)3<xyz<
dvander@2762
  1119
   >abc>(1(2)3)<xyz<
dvander@2762
  1120
dvander@2762
  1121
/(a(?1)b)/DZ
dvander@2762
  1122
dvander@2762
  1123
/(a(?1)+b)/DZ
dvander@2762
  1124
dvander@2762
  1125
/^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
dvander@2762
  1126
    1221
dvander@2762
  1127
    Satan, oscillate my metallic sonatas!
dvander@2762
  1128
    A man, a plan, a canal: Panama!
dvander@2762
  1129
    Able was I ere I saw Elba.
dvander@2762
  1130
    *** Failers
dvander@2762
  1131
    The quick brown fox
dvander@2762
  1132
dvander@2762
  1133
/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
dvander@2762
  1134
    12
dvander@2762
  1135
    (((2+2)*-3)-7)
dvander@2762
  1136
    -12
dvander@2762
  1137
    *** Failers
dvander@2762
  1138
    ((2+2)*-3)-7)
dvander@2762
  1139
dvander@2762
  1140
/^(x(y|(?1){2})z)/I
dvander@2762
  1141
    xyz
dvander@2762
  1142
    xxyzxyzz
dvander@2762
  1143
    *** Failers
dvander@2762
  1144
    xxyzz
dvander@2762
  1145
    xxyzxyzxyzz
dvander@2762
  1146
dvander@2762
  1147
/((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
dvander@2762
  1148
    <>
dvander@2762
  1149
    <abcd>
dvander@2762
  1150
    <abc <123> hij>
dvander@2762
  1151
    <abc <def> hij>
dvander@2762
  1152
    <abc<>def>
dvander@2762
  1153
    <abc<>
dvander@2762
  1154
    *** Failers
dvander@2762
  1155
    <abc
dvander@2762
  1156
dvander@2762
  1157
/(?1)/I
dvander@2762
  1158
dvander@2762
  1159
/((?2)(abc)/I
dvander@2762
  1160
dvander@2762
  1161
/^(abc)def(?1)/I
dvander@2762
  1162
    abcdefabc
dvander@2762
  1163
dvander@2762
  1164
/^(a|b|c)=(?1)+/I
dvander@2762
  1165
    a=a
dvander@2762
  1166
    a=b
dvander@2762
  1167
    a=bc
dvander@2762
  1168
dvander@2762
  1169
/^(a|b|c)=((?1))+/I
dvander@2762
  1170
    a=a
dvander@2762
  1171
    a=b
dvander@2762
  1172
    a=bc
dvander@2762
  1173
dvander@2762
  1174
/a(?P<name1>b|c)d(?P<longername2>e)/DZ
dvander@2762
  1175
    abde
dvander@2762
  1176
    acde
dvander@2762
  1177
dvander@2762
  1178
/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
dvander@2762
  1179
dvander@2762
  1180
/(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
dvander@2762
  1181
dvander@2762
  1182
/^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
dvander@2762
  1183
    1221
dvander@2762
  1184
    Satan, oscillate my metallic sonatas!
dvander@2762
  1185
    A man, a plan, a canal: Panama!
dvander@2762
  1186
    Able was I ere I saw Elba.
dvander@2762
  1187
    *** Failers
dvander@2762
  1188
    The quick brown fox
dvander@2762
  1189
dvander@2762
  1190
/((?(R)a|b))\1(?1)?/I
dvander@2762
  1191
  bb
dvander@2762
  1192
  bbaa
dvander@2762
  1193
dvander@2762
  1194
/(.*)a/Is
dvander@2762
  1195
dvander@2762
  1196
/(.*)a\1/Is
dvander@2762
  1197
dvander@2762
  1198
/(.*)a(b)\2/Is
dvander@2762
  1199
dvander@2762
  1200
/((.*)a|(.*)b)z/Is
dvander@2762
  1201
dvander@2762
  1202
/((.*)a|(.*)b)z\1/Is
dvander@2762
  1203
dvander@2762
  1204
/((.*)a|(.*)b)z\2/Is
dvander@2762
  1205
dvander@2762
  1206
/((.*)a|(.*)b)z\3/Is
dvander@2762
  1207
dvander@2762
  1208
/((.*)a|^(.*)b)z\3/Is
dvander@2762
  1209
dvander@2762
  1210
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
dvander@2762
  1211
dvander@2762
  1212
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
dvander@2762
  1213
dvander@2762
  1214
/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
dvander@2762
  1215
dvander@2762
  1216
/(a)(bc)/INDZ
dvander@2762
  1217
  abc
dvander@2762
  1218
dvander@2762
  1219
/(?P<one>a)(bc)/INDZ
dvander@2762
  1220
  abc
dvander@2762
  1221
dvander@2762
  1222
/(a)(?P<named>bc)/INDZ
dvander@2762
  1223
dvander@2762
  1224
/(a+)*zz/I
dvander@2762
  1225
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
dvander@2762
  1226
  aaaaaaaaaaaaaz\M
dvander@2762
  1227
dvander@2762
  1228
/(aaa(?C1)bbb|ab)/I
dvander@2762
  1229
   aaabbb
dvander@2762
  1230
   aaabbb\C*0
dvander@2762
  1231
   aaabbb\C*1
dvander@2762
  1232
   aaabbb\C*-1
dvander@2762
  1233
dvander@2762
  1234
/ab(?P<one>cd)ef(?P<two>gh)/I
dvander@2762
  1235
    abcdefgh
dvander@2762
  1236
    abcdefgh\C1\Gtwo
dvander@2762
  1237
    abcdefgh\Cone\Ctwo
dvander@2762
  1238
    abcdefgh\Cthree
dvander@2762
  1239
dvander@2762
  1240
/(?P<Tes>)(?P<Test>)/DZ
dvander@2762
  1241
dvander@2762
  1242
/(?P<Test>)(?P<Tes>)/DZ
dvander@2762
  1243
dvander@2762
  1244
/(?P<Z>zz)(?P<A>aa)/I
dvander@2762
  1245
    zzaa\CZ
dvander@2762
  1246
    zzaa\CA
dvander@2762
  1247
dvander@2762
  1248
/(?P<x>eks)(?P<x>eccs)/I
dvander@2762
  1249
dvander@2762
  1250
/(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
dvander@2762
  1251
dvander@2762
  1252
"\[((?P<elem>\d+)(,(?P>elem))*)\]"I
dvander@2762
  1253
    [10,20,30,5,5,4,4,2,43,23,4234]
dvander@2762
  1254
    *** Failers
dvander@2762
  1255
    []
dvander@2762
  1256
dvander@2762
  1257
"\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
dvander@2762
  1258
    [10,20,30,5,5,4,4,2,43,23,4234]
dvander@2762
  1259
    []
dvander@2762
  1260
dvander@2762
  1261
/(a(b(?2)c))?/DZ
dvander@2762
  1262
dvander@2762
  1263
/(a(b(?2)c))*/DZ
dvander@2762
  1264
dvander@2762
  1265
/(a(b(?2)c)){0,2}/DZ
dvander@2762
  1266
dvander@2762
  1267
/[ab]{1}+/DZ
dvander@2762
  1268
dvander@2762
  1269
/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
dvander@2762
  1270
     Baby Bjorn Active Carrier - With free SHIPPING!!
dvander@2762
  1271
dvander@2762
  1272
/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
dvander@2762
  1273
     Baby Bjorn Active Carrier - With free SHIPPING!!
dvander@2762
  1274
dvander@2762
  1275
/a*.*b/ISDZ
dvander@2762
  1276
dvander@2762
  1277
/(a|b)*.?c/ISDZ
dvander@2762
  1278
dvander@2762
  1279
/abc(?C255)de(?C)f/DZ
dvander@2762
  1280
dvander@2762
  1281
/abcde/ICDZ
dvander@2762
  1282
  abcde
dvander@2762
  1283
  abcdfe
dvander@2762
  1284
dvander@2762
  1285
/a*b/ICDZ
dvander@2762
  1286
  ab
dvander@2762
  1287
  aaaab
dvander@2762
  1288
  aaaacb
dvander@2762
  1289
dvander@2762
  1290
/a+b/ICDZ
dvander@2762
  1291
  ab
dvander@2762
  1292
  aaaab
dvander@2762
  1293
  aaaacb
dvander@2762
  1294
dvander@2762
  1295
/(abc|def)x/ICDZ
dvander@2762
  1296
  abcx
dvander@2762
  1297
  defx
dvander@2762
  1298
  abcdefzx
dvander@2762
  1299
dvander@2762
  1300
/(ab|cd){3,4}/IC
dvander@2762
  1301
  ababab
dvander@2762
  1302
  abcdabcd
dvander@2762
  1303
  abcdcdcdcdcd
dvander@2762
  1304
dvander@2762
  1305
/([ab]{,4}c|xy)/ICDZ
dvander@2762
  1306
    Note: that { does NOT introduce a quantifier
dvander@2762
  1307
dvander@2762
  1308
/([ab]{1,4}c|xy){4,5}?123/ICDZ
dvander@2762
  1309
    aacaacaacaacaac123
dvander@2762
  1310
dvander@2762
  1311
/\b.*/I
dvander@2762
  1312
  ab cd\>1
dvander@2762
  1313
dvander@2762
  1314
/\b.*/Is
dvander@2762
  1315
  ab cd\>1
dvander@2762
  1316
dvander@2762
  1317
/(?!.bcd).*/I
dvander@2762
  1318
  Xbcd12345
dvander@2762
  1319
dvander@2762
  1320
/abcde/I
dvander@2762
  1321
    ab\P
dvander@2762
  1322
    abc\P
dvander@2762
  1323
    abcd\P
dvander@2762
  1324
    abcde\P
dvander@2762
  1325
    the quick brown abc\P
dvander@2762
  1326
    ** Failers\P
dvander@2762
  1327
    the quick brown abxyz fox\P
dvander@2762
  1328
dvander@2762
  1329
"^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
dvander@2762
  1330
    13/05/04\P
dvander@2762
  1331
    13/5/2004\P
dvander@2762
  1332
    02/05/09\P
dvander@2762
  1333
    1\P
dvander@2762
  1334
    1/2\P
dvander@2762
  1335
    1/2/0\P
dvander@2762
  1336
    1/2/04\P
dvander@2762
  1337
    0\P
dvander@2762
  1338
    02/\P
dvander@2762
  1339
    02/0\P
dvander@2762
  1340
    02/1\P
dvander@2762
  1341
    ** Failers\P
dvander@2762
  1342
    \P
dvander@2762
  1343
    123\P
dvander@2762
  1344
    33/4/04\P
dvander@2762
  1345
    3/13/04\P
dvander@2762
  1346
    0/1/2003\P
dvander@2762
  1347
    0/\P
dvander@2762
  1348
    02/0/\P
dvander@2762
  1349
    02/13\P
dvander@2762
  1350
dvander@2762
  1351
/0{0,2}ABC/I
dvander@2762
  1352
dvander@2762
  1353
/\d{3,}ABC/I
dvander@2762
  1354
dvander@2762
  1355
/\d*ABC/I
dvander@2762
  1356
dvander@2762
  1357
/[abc]+DE/I
dvander@2762
  1358
dvander@2762
  1359
/[abc]?123/I
dvander@2762
  1360
    123\P
dvander@2762
  1361
    a\P
dvander@2762
  1362
    b\P
dvander@2762
  1363
    c\P
dvander@2762
  1364
    c12\P
dvander@2762
  1365
    c123\P
dvander@2762
  1366
dvander@2762
  1367
/^(?:\d){3,5}X/I
dvander@2762
  1368
    1\P
dvander@2762
  1369
    123\P
dvander@2762
  1370
    123X
dvander@2762
  1371
    1234\P
dvander@2762
  1372
    1234X
dvander@2762
  1373
    12345\P
dvander@2762
  1374
    12345X
dvander@2762
  1375
    *** Failers
dvander@2762
  1376
    1X
dvander@2762
  1377
    123456\P
dvander@2762
  1378
dvander@2762
  1379
/abc/I>testsavedregex
dvander@2762
  1380
<testsavedregex
dvander@2762
  1381
    abc
dvander@2762
  1382
    ** Failers
dvander@2762
  1383
    bca
dvander@2762
  1384
dvander@2762
  1385
/abc/IF>testsavedregex
dvander@2762
  1386
<testsavedregex
dvander@2762
  1387
    abc
dvander@2762
  1388
    ** Failers
dvander@2762
  1389
    bca
dvander@2762
  1390
dvander@2762
  1391
/(a|b)/IS>testsavedregex
dvander@2762
  1392
<testsavedregex
dvander@2762
  1393
    abc
dvander@2762
  1394
    ** Failers
dvander@2762
  1395
    def
dvander@2762
  1396
dvander@2762
  1397
/(a|b)/ISF>testsavedregex
dvander@2762
  1398
<testsavedregex
dvander@2762
  1399
    abc
dvander@2762
  1400
    ** Failers
dvander@2762
  1401
    def
dvander@2762
  1402
dvander@2762
  1403
~<(\w+)/?>(.)*</(\1)>~smgI
dvander@2762
  1404
    <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
dvander@2762
  1405
dvander@2762
  1406
/^a/IF
dvander@2762
  1407
dvander@2762
  1408
/line\nbreak/I
dvander@2762
  1409
    this is a line\nbreak
dvander@2762
  1410
    line one\nthis is a line\nbreak in the second line
dvander@2762
  1411
dvander@2762
  1412
/line\nbreak/If
dvander@2762
  1413
    this is a line\nbreak
dvander@2762
  1414
    ** Failers
dvander@2762
  1415
    line one\nthis is a line\nbreak in the second line
dvander@2762
  1416
dvander@2762
  1417
/line\nbreak/Imf
dvander@2762
  1418
    this is a line\nbreak
dvander@2762
  1419
    ** Failers
dvander@2762
  1420
    line one\nthis is a line\nbreak in the second line
dvander@2762
  1421
dvander@2762
  1422
/ab.cd/IP
dvander@2762
  1423
    ab-cd
dvander@2762
  1424
    ab=cd
dvander@2762
  1425
    ** Failers
dvander@2762
  1426
    ab\ncd
dvander@2762
  1427
dvander@2762
  1428
/ab.cd/IPs
dvander@2762
  1429
    ab-cd
dvander@2762
  1430
    ab=cd
dvander@2762
  1431
    ab\ncd
dvander@2762
  1432
dvander@2762
  1433
/(?i)(?-i)AbCd/I
dvander@2762
  1434
    AbCd
dvander@2762
  1435
    ** Failers
dvander@2762
  1436
    abcd
dvander@2762
  1437
dvander@2762
  1438
/a{11111111111111111111}/I
dvander@2762
  1439
dvander@2762
  1440
/(){64294967295}/I
dvander@2762
  1441
dvander@2762
  1442
/(){2,4294967295}/I
dvander@2762
  1443
dvander@2762
  1444
"(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
dvander@2762
  1445
    abcdefghijklAkB
dvander@2762
  1446
dvander@2762
  1447
"(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
dvander@2762
  1448
    abcdefghijklAkB
dvander@2762
  1449
dvander@2762
  1450
"(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
dvander@2762
  1451
    abcdefghijklAkB
dvander@2762
  1452
dvander@2762
  1453
"(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
dvander@2762
  1454
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dvander@2762
  1455
dvander@2762
  1456
"(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
dvander@2762
  1457
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dvander@2762
  1458
dvander@2762
  1459
/[^()]*(?:\((?R)\)[^()]*)*/I
dvander@2762
  1460
    (this(and)that
dvander@2762
  1461
    (this(and)that)
dvander@2762
  1462
    (this(and)that)stuff
dvander@2762
  1463
dvander@2762
  1464
/[^()]*(?:\((?>(?R))\)[^()]*)*/I
dvander@2762
  1465
    (this(and)that
dvander@2762
  1466
    (this(and)that)
dvander@2762
  1467
dvander@2762
  1468
/[^()]*(?:\((?R)\))*[^()]*/I
dvander@2762
  1469
    (this(and)that
dvander@2762
  1470
    (this(and)that)
dvander@2762
  1471
dvander@2762
  1472
/(?:\((?R)\))*[^()]*/I
dvander@2762
  1473
    (this(and)that
dvander@2762
  1474
    (this(and)that)
dvander@2762
  1475
    ((this))
dvander@2762
  1476
dvander@2762
  1477
/(?:\((?R)\))|[^()]*/I
dvander@2762
  1478
    (this(and)that
dvander@2762
  1479
    (this(and)that)
dvander@2762
  1480
    (this)
dvander@2762
  1481
    ((this))
dvander@2762
  1482
dvander@2762
  1483
/a(b)c/IPN
dvander@2762
  1484
    abc
dvander@2762
  1485
dvander@2762
  1486
/a(?P<name>b)c/IPN
dvander@2762
  1487
    abc
dvander@2762
  1488
dvander@2762
  1489
/\x{100}/I
dvander@2762
  1490
dvander@2762
  1491
/\x{0000ff}/I
dvander@2762
  1492
dvander@2762
  1493
/^((?P<A>a1)|(?P<A>a2)b)/I
dvander@2762
  1494
dvander@2762
  1495
/^((?P<A>a1)|(?P<A>a2)b)/IJ
dvander@2762
  1496
    a1b\CA
dvander@2762
  1497
    a2b\CA
dvander@2762
  1498
    ** Failers
dvander@2762
  1499
    a1b\CZ\CA
dvander@2762
  1500
dvander@2762
  1501
/^(?P<A>a)(?P<A>b)/IJ
dvander@2762
  1502
    ab\CA
dvander@2762
  1503
dvander@2762
  1504
/^(?P<A>a)(?P<A>b)|cd/IJ
dvander@2762
  1505
    ab\CA
dvander@2762
  1506
    cd\CA
dvander@2762
  1507
dvander@2762
  1508
/^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
dvander@2762
  1509
    cdefgh\CA
dvander@2762
  1510
dvander@2762
  1511
/^((?P<A>a1)|(?P<A>a2)b)/IJ
dvander@2762
  1512
    a1b\GA
dvander@2762
  1513
    a2b\GA
dvander@2762
  1514
    ** Failers
dvander@2762
  1515
    a1b\GZ\GA
dvander@2762
  1516
dvander@2762
  1517
/^(?P<A>a)(?P<A>b)/IJ
dvander@2762
  1518
    ab\GA
dvander@2762
  1519
dvander@2762
  1520
/^(?P<A>a)(?P<A>b)|cd/IJ
dvander@2762
  1521
    ab\GA
dvander@2762
  1522
    cd\GA
dvander@2762
  1523
dvander@2762
  1524
/^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
dvander@2762
  1525
    cdefgh\GA
dvander@2762
  1526
dvander@2762
  1527
/(?J)^((?P<A>a1)|(?P<A>a2)b)/I
dvander@2762
  1528
    a1b\CA
dvander@2762
  1529
    a2b\CA
dvander@2762
  1530
dvander@2762
  1531
/^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
dvander@2762
  1532
dvander@2762
  1533
/ In this next test, J is not set at the outer level; consequently it isn't
dvander@2762
  1534
set in the pattern's options; consequently pcre_get_named_substring() produces
dvander@2762
  1535
a random value. /Ix
dvander@2762
  1536
dvander@2762
  1537
/^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
dvander@2762
  1538
    a bc d\CA\CB\CC
dvander@2762
  1539
dvander@2762
  1540
/^(?P<A>a)?(?(A)a|b)/I
dvander@2762
  1541
    aabc
dvander@2762
  1542
    bc
dvander@2762
  1543
    ** Failers
dvander@2762
  1544
    abc
dvander@2762
  1545
dvander@2762
  1546
/(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
dvander@2762
  1547
    bXaX
dvander@2762
  1548
dvander@2762
  1549
/(?:(?(2y)a|b)(X))+/I
dvander@2762
  1550
dvander@2762
  1551
/(?:(?(ZA)a|b)(?P<ZZ>X))+/I
dvander@2762
  1552
dvander@2762
  1553
/(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
dvander@2762
  1554
    bbXaaX
dvander@2762
  1555
dvander@2762
  1556
/(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
dvander@2762
  1557
    (b)\\Xa\\X
dvander@2762
  1558
dvander@2762
  1559
/(?P<ABC/I
dvander@2762
  1560
dvander@2762
  1561
/(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
dvander@2762
  1562
    bXXaYYaY
dvander@2762
  1563
    bXYaXXaX
dvander@2762
  1564
dvander@2762
  1565
/()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
dvander@2762
  1566
    bXXaYYaY
dvander@2762
  1567
dvander@2762
  1568
/\777/I
dvander@2762
  1569
dvander@2762
  1570
/\s*,\s*/IS
dvander@2762
  1571
    \x0b,\x0b
dvander@2762
  1572
    \x0c,\x0d
dvander@2762
  1573
dvander@2762
  1574
/^abc/Im
dvander@2762
  1575
    xyz\nabc
dvander@2762
  1576
    xyz\nabc\<lf>
dvander@2762
  1577
    xyz\r\nabc\<lf>
dvander@2762
  1578
    xyz\rabc\<cr>
dvander@2762
  1579
    xyz\r\nabc\<crlf>
dvander@2762
  1580
    ** Failers
dvander@2762
  1581
    xyz\nabc\<cr>
dvander@2762
  1582
    xyz\r\nabc\<cr>
dvander@2762
  1583
    xyz\nabc\<crlf>
dvander@2762
  1584
    xyz\rabc\<crlf>
dvander@2762
  1585
    xyz\rabc\<lf>
dvander@2762
  1586
dvander@2762
  1587
/abc$/Im<lf>
dvander@2762
  1588
    xyzabc
dvander@2762
  1589
    xyzabc\n
dvander@2762
  1590
    xyzabc\npqr
dvander@2762
  1591
    xyzabc\r\<cr>
dvander@2762
  1592
    xyzabc\rpqr\<cr>
dvander@2762
  1593
    xyzabc\r\n\<crlf>
dvander@2762
  1594
    xyzabc\r\npqr\<crlf>
dvander@2762
  1595
    ** Failers
dvander@2762
  1596
    xyzabc\r
dvander@2762
  1597
    xyzabc\rpqr
dvander@2762
  1598
    xyzabc\r\n
dvander@2762
  1599
    xyzabc\r\npqr
dvander@2762
  1600
dvander@2762
  1601
/^abc/Im<cr>
dvander@2762
  1602
    xyz\rabcdef
dvander@2762
  1603
    xyz\nabcdef\<lf>
dvander@2762
  1604
    ** Failers
dvander@2762
  1605
    xyz\nabcdef
dvander@2762
  1606
dvander@2762
  1607
/^abc/Im<lf>
dvander@2762
  1608
    xyz\nabcdef
dvander@2762
  1609
    xyz\rabcdef\<cr>
dvander@2762
  1610
    ** Failers
dvander@2762
  1611
    xyz\rabcdef
dvander@2762
  1612
dvander@2762
  1613
/^abc/Im<crlf>
dvander@2762
  1614
    xyz\r\nabcdef
dvander@2762
  1615
    xyz\rabcdef\<cr>
dvander@2762
  1616
    ** Failers
dvander@2762
  1617
    xyz\rabcdef
dvander@2762
  1618
dvander@2762
  1619
/^abc/Im<bad>
dvander@2762
  1620
dvander@2762
  1621
/abc/I
dvander@2762
  1622
    xyz\rabc\<bad>
dvander@2762
  1623
    abc
dvander@2762
  1624
dvander@2762
  1625
/.*/I<lf>
dvander@2762
  1626
    abc\ndef
dvander@2762
  1627
    abc\rdef
dvander@2762
  1628
    abc\r\ndef
dvander@2762
  1629
    \<cr>abc\ndef
dvander@2762
  1630
    \<cr>abc\rdef
dvander@2762
  1631
    \<cr>abc\r\ndef
dvander@2762
  1632
    \<crlf>abc\ndef
dvander@2762
  1633
    \<crlf>abc\rdef
dvander@2762
  1634
    \<crlf>abc\r\ndef
dvander@2762
  1635
dvander@2762
  1636
/\w+(.)(.)?def/Is
dvander@2762
  1637
    abc\ndef
dvander@2762
  1638
    abc\rdef
dvander@2762
  1639
    abc\r\ndef
dvander@2762
  1640
dvander@2762
  1641
+((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
dvander@2762
  1642
   /* this is a C style comment */\M
dvander@2762
  1643
dvander@2762
  1644
/(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
dvander@2762
  1645
dvander@2762
  1646
/()()()()()()()()()()()()()()()()()()()()
dvander@2762
  1647
 ()()()()()()()()()()()()()()()()()()()()
dvander@2762
  1648
 ()()()()()()()()()()()()()()()()()()()()
dvander@2762
  1649
 ()()()()()()()()()()()()()()()()()()()()
dvander@2762
  1650
 ()()()()()()()()()()()()()()()()()()()()
dvander@2762
  1651
 (.(.))/Ix
dvander@2762
  1652
    XY\O400
dvander@2762
  1653
dvander@2762
  1654
/(a*b|(?i:c*(?-i)d))/IS
dvander@2762
  1655
dvander@2762
  1656
/()[ab]xyz/IS
dvander@2762
  1657
dvander@2762
  1658
/(|)[ab]xyz/IS
dvander@2762
  1659
dvander@2762
  1660
/(|c)[ab]xyz/IS
dvander@2762
  1661
dvander@2762
  1662
/(|c?)[ab]xyz/IS
dvander@2762
  1663
dvander@2762
  1664
/(d?|c?)[ab]xyz/IS
dvander@2762
  1665
dvander@2762
  1666
/(d?|c)[ab]xyz/IS
dvander@2762
  1667
dvander@2762
  1668
/^a*b\d/DZ
dvander@2762
  1669
dvander@2762
  1670
/^a*+b\d/DZ
dvander@2762
  1671
dvander@2762
  1672
/^a*?b\d/DZ
dvander@2762
  1673
dvander@2762
  1674
/^a+A\d/DZ
dvander@2762
  1675
    aaaA5
dvander@2762
  1676
    ** Failers
dvander@2762
  1677
    aaaa5
dvander@2762
  1678
dvander@2762
  1679
/^a*A\d/IiDZ
dvander@2762
  1680
    aaaA5
dvander@2762
  1681
    aaaa5
dvander@2762
  1682
dvander@2762
  1683
/(a*|b*)[cd]/IS
dvander@2762
  1684
dvander@2762
  1685
/(a+|b*)[cd]/IS
dvander@2762
  1686
dvander@2762
  1687
/(a*|b+)[cd]/IS
dvander@2762
  1688
dvander@2762
  1689
/(a+|b+)[cd]/IS
dvander@2762
  1690
dvander@2762
  1691
/((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
dvander@2762
  1692
 ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
dvander@2762
  1693
 (((
dvander@2762
  1694
 a
dvander@2762
  1695
 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
dvander@2762
  1696
 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
dvander@2762
  1697
 )))
dvander@2762
  1698
/Ix
dvander@2762
  1699
  large nest
dvander@2762
  1700
dvander@2762
  1701
/a*\d/BZ
dvander@2762
  1702
dvander@2762
  1703
/a*\D/BZ
dvander@2762
  1704
dvander@2762
  1705
/0*\d/BZ
dvander@2762
  1706
dvander@2762
  1707
/0*\D/BZ
dvander@2762
  1708
dvander@2762
  1709
/a*\s/BZ
dvander@2762
  1710
dvander@2762
  1711
/a*\S/BZ
dvander@2762
  1712
dvander@2762
  1713
/ *\s/BZ
dvander@2762
  1714
dvander@2762
  1715
/ *\S/BZ
dvander@2762
  1716
dvander@2762
  1717
/a*\w/BZ
dvander@2762
  1718
dvander@2762
  1719
/a*\W/BZ
dvander@2762
  1720
dvander@2762
  1721
/=*\w/BZ
dvander@2762
  1722
dvander@2762
  1723
/=*\W/BZ
dvander@2762
  1724
dvander@2762
  1725
/\d*a/BZ
dvander@2762
  1726
dvander@2762
  1727
/\d*2/BZ
dvander@2762
  1728
dvander@2762
  1729
/\d*\d/BZ
dvander@2762
  1730
dvander@2762
  1731
/\d*\D/BZ
dvander@2762
  1732
dvander@2762
  1733
/\d*\s/BZ
dvander@2762
  1734
dvander@2762
  1735
/\d*\S/BZ
dvander@2762
  1736
dvander@2762
  1737
/\d*\w/BZ
dvander@2762
  1738
dvander@2762
  1739
/\d*\W/BZ
dvander@2762
  1740
dvander@2762
  1741
/\D*a/BZ
dvander@2762
  1742
dvander@2762
  1743
/\D*2/BZ
dvander@2762
  1744
dvander@2762
  1745
/\D*\d/BZ
dvander@2762
  1746
dvander@2762
  1747
/\D*\D/BZ
dvander@2762
  1748
dvander@2762
  1749
/\D*\s/BZ
dvander@2762
  1750
dvander@2762
  1751
/\D*\S/BZ
dvander@2762
  1752
dvander@2762
  1753
/\D*\w/BZ
dvander@2762
  1754
dvander@2762
  1755
/\D*\W/BZ
dvander@2762
  1756
dvander@2762
  1757
/\s*a/BZ
dvander@2762
  1758
dvander@2762
  1759
/\s*2/BZ
dvander@2762
  1760
dvander@2762
  1761
/\s*\d/BZ
dvander@2762
  1762
dvander@2762
  1763
/\s*\D/BZ
dvander@2762
  1764
dvander@2762
  1765
/\s*\s/BZ
dvander@2762
  1766
dvander@2762
  1767
/\s*\S/BZ
dvander@2762
  1768
dvander@2762
  1769
/\s*\w/BZ
dvander@2762
  1770
dvander@2762
  1771
/\s*\W/BZ
dvander@2762
  1772
dvander@2762
  1773
/\S*a/BZ
dvander@2762
  1774
dvander@2762
  1775
/\S*2/BZ
dvander@2762
  1776
dvander@2762
  1777
/\S*\d/BZ
dvander@2762
  1778
dvander@2762
  1779
/\S*\D/BZ
dvander@2762
  1780
dvander@2762
  1781
/\S*\s/BZ
dvander@2762
  1782
dvander@2762
  1783
/\S*\S/BZ
dvander@2762
  1784
dvander@2762
  1785
/\S*\w/BZ
dvander@2762
  1786
dvander@2762
  1787
/\S*\W/BZ
dvander@2762
  1788
dvander@2762
  1789
/\w*a/BZ
dvander@2762
  1790
dvander@2762
  1791
/\w*2/BZ
dvander@2762
  1792
dvander@2762
  1793
/\w*\d/BZ
dvander@2762
  1794
dvander@2762
  1795
/\w*\D/BZ
dvander@2762
  1796
dvander@2762
  1797
/\w*\s/BZ
dvander@2762
  1798
dvander@2762
  1799
/\w*\S/BZ
dvander@2762
  1800
dvander@2762
  1801
/\w*\w/BZ
dvander@2762
  1802
dvander@2762
  1803
/\w*\W/BZ
dvander@2762
  1804
dvander@2762
  1805
/\W*a/BZ
dvander@2762
  1806
dvander@2762
  1807
/\W*2/BZ
dvander@2762
  1808
dvander@2762
  1809
/\W*\d/BZ
dvander@2762
  1810
dvander@2762
  1811
/\W*\D/BZ
dvander@2762
  1812
dvander@2762
  1813
/\W*\s/BZ
dvander@2762
  1814
dvander@2762
  1815
/\W*\S/BZ
dvander@2762
  1816
dvander@2762
  1817
/\W*\w/BZ
dvander@2762
  1818
dvander@2762
  1819
/\W*\W/BZ
dvander@2762
  1820
dvander@2762
  1821
/[^a]+a/BZ
dvander@2762
  1822
dvander@2762
  1823
/[^a]+a/BZi
dvander@2762
  1824
dvander@2762
  1825
/[^a]+A/BZi
dvander@2762
  1826
dvander@2762
  1827
/[^a]+b/BZ
dvander@2762
  1828
dvander@2762
  1829
/[^a]+\d/BZ
dvander@2762
  1830
dvander@2762
  1831
/a*[^a]/BZ
dvander@2762
  1832
dvander@2762
  1833
/(?P<abc>x)(?P<xyz>y)/I
dvander@2762
  1834
    xy\Cabc\Cxyz
dvander@2762
  1835
dvander@2762
  1836
/(?<abc>x)(?'xyz'y)/I
dvander@2762
  1837
    xy\Cabc\Cxyz
dvander@2762
  1838
dvander@2762
  1839
/(?<abc'x)(?'xyz'y)/I
dvander@2762
  1840
dvander@2762
  1841
/(?<abc>x)(?'xyz>y)/I
dvander@2762
  1842
dvander@2762
  1843
/(?P'abc'x)(?P<xyz>y)/I
dvander@2762
  1844
dvander@2762
  1845
/^(?:(?(ZZ)a|b)(?<ZZ>X))+/
dvander@2762
  1846
    bXaX
dvander@2762
  1847
    bXbX
dvander@2762
  1848
    ** Failers
dvander@2762
  1849
    aXaX
dvander@2762
  1850
    aXbX
dvander@2762
  1851
dvander@2762
  1852
/^(?P>abc)(?<abcd>xxx)/
dvander@2762
  1853
dvander@2762
  1854
/^(?P>abc)(?<abc>x|y)/
dvander@2762
  1855
    xx
dvander@2762
  1856
    xy
dvander@2762
  1857
    yy
dvander@2762
  1858
    yx
dvander@2762
  1859
dvander@2762
  1860
/^(?P>abc)(?P<abc>x|y)/
dvander@2762
  1861
    xx
dvander@2762
  1862
    xy
dvander@2762
  1863
    yy
dvander@2762
  1864
    yx
dvander@2762
  1865
dvander@2762
  1866
/^((?(abc)a|b)(?<abc>x|y))+/
dvander@2762
  1867
    bxay
dvander@2762
  1868
    bxby
dvander@2762
  1869
    ** Failers
dvander@2762
  1870
    axby
dvander@2762
  1871
dvander@2762
  1872
/^(((?P=abc)|X)(?<abc>x|y))+/
dvander@2762
  1873
    XxXxxx
dvander@2762
  1874
    XxXyyx
dvander@2762
  1875
    XxXyxx
dvander@2762
  1876
    ** Failers
dvander@2762
  1877
    x
dvander@2762
  1878
dvander@2762
  1879
/^(?1)(abc)/
dvander@2762
  1880
    abcabc
dvander@2762
  1881
dvander@2762
  1882
/^(?:(?:\1|X)(a|b))+/
dvander@2762
  1883
    Xaaa
dvander@2762
  1884
    Xaba
dvander@2762
  1885
dvander@2762
  1886
/^[\E\Qa\E-\Qz\E]+/BZ
dvander@2762
  1887
dvander@2762
  1888
/^[a\Q]bc\E]/BZ
dvander@2762
  1889
dvander@2762
  1890
/^[a-\Q\E]/BZ
dvander@2762
  1891
dvander@2762
  1892
/^(?P>abc)[()](?<abc>)/BZ
dvander@2762
  1893
dvander@2762
  1894
/^((?(abc)y)[()](?P<abc>x))+/BZ
dvander@2762
  1895
    (xy)x
dvander@2762
  1896
dvander@2762
  1897
/^(?P>abc)\Q()\E(?<abc>)/BZ
dvander@2762
  1898
dvander@2762
  1899
/^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
dvander@2762
  1900
dvander@2762
  1901
/^(?P>abc) # this is (a comment)
dvander@2762
  1902
  (?<abc>)/BZx
dvander@2762
  1903
dvander@2762
  1904
/^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
dvander@2762
  1905
    1221
dvander@2762
  1906
    Satan, oscillate my metallic sonatas!
dvander@2762
  1907
    A man, a plan, a canal: Panama!
dvander@2762
  1908
    Able was I ere I saw Elba.
dvander@2762
  1909
    *** Failers
dvander@2762
  1910
    The quick brown fox
dvander@2762
  1911
dvander@2762
  1912
/(?=(\w+))\1:/I
dvander@2762
  1913
    abcd:
dvander@2762
  1914
dvander@2762
  1915
/(?=(?'abc'\w+))\k<abc>:/I
dvander@2762
  1916
    abcd:
dvander@2762
  1917
dvander@2762
  1918
/(?'abc'\w+):\k<abc>{2}/
dvander@2762
  1919
    a:aaxyz
dvander@2762
  1920
    ab:ababxyz
dvander@2762
  1921
    ** Failers
dvander@2762
  1922
    a:axyz
dvander@2762
  1923
    ab:abxyz
dvander@2762
  1924
dvander@2762
  1925
/(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
dvander@2762
  1926
    adaa
dvander@2762
  1927
    ** Failers
dvander@2762
  1928
    addd
dvander@2762
  1929
    adbb
dvander@2762
  1930
dvander@2762
  1931
/(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
dvander@2762
  1932
    bdaa
dvander@2762
  1933
    bdab
dvander@2762
  1934
    ** Failers
dvander@2762
  1935
    bddd
dvander@2762
  1936
dvander@2762
  1937
/^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x
dvander@2762
  1938
    abd
dvander@2762
  1939
    ce
dvander@2762
  1940
dvander@2762
  1941
/(?(<bc))/
dvander@2762
  1942
dvander@2762
  1943
/(?(''))/
dvander@2762
  1944
dvander@2762
  1945
/(?('R')stuff)/
dvander@2762
  1946
dvander@2762
  1947
/((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
dvander@2762
  1948
    abcabc1Xabc2XabcXabcabc
dvander@2762
  1949
dvander@2762
  1950
/(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
dvander@2762
  1951
    abcabc1Xabc2XabcXabcabc
dvander@2762
  1952
dvander@2762
  1953
/(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
dvander@2762
  1954
dvander@2762
  1955
/(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
dvander@2762
  1956
    abcabc1Xabc2XabcXabcabc
dvander@2762
  1957
dvander@2762
  1958
/^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x
dvander@2762
  1959
    abcd
dvander@2762
  1960
dvander@2762
  1961
/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
dvander@2762
  1962
  (?(DEFINE)
dvander@2762
  1963
  (?<NAME_PAT>[a-z]+)
dvander@2762
  1964
  (?<ADDRESS_PAT>\d+)
dvander@2762
  1965
  )/x
dvander@2762
  1966
    metcalfe 33
dvander@2762
  1967
dvander@2762
  1968
/^(?(DEFINE) abc | xyz ) /x
dvander@2762
  1969
dvander@2762
  1970
/(?(DEFINE) abc) xyz/xI
dvander@2762
  1971
dvander@2762
  1972
/(?(DEFINE) abc){3} xyz/x
dvander@2762
  1973
dvander@2762
  1974
/(a|)*\d/
dvander@2762
  1975
  \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dvander@2762
  1976
  \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
dvander@2762
  1977
dvander@2762
  1978
/^a.b/<lf>
dvander@2762
  1979
    a\rb
dvander@2762
  1980
    a\nb\<cr>
dvander@2762
  1981
    a\x85b\<anycrlf> 
dvander@2762
  1982
    ** Failers
dvander@2762
  1983
    a\nb
dvander@2762
  1984
    a\nb\<any>
dvander@2762
  1985
    a\rb\<cr>
dvander@2762
  1986
    a\rb\<any>
dvander@2762
  1987
    a\x85b\<any> 
dvander@2762
  1988
    a\rb\<anycrlf>
dvander@2762
  1989
dvander@2762
  1990
/^abc./mgx<any>
dvander@2762
  1991
    abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
dvander@2762
  1992
dvander@2762
  1993
/abc.$/mgx<any>
dvander@2762
  1994
    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
dvander@2762
  1995
dvander@2762
  1996
/a/<cr><any>
dvander@2762
  1997
dvander@2762
  1998
/a/<any><crlf>
dvander@2762
  1999
dvander@2762
  2000
/^a\Rb/<bsr_unicode>
dvander@2762
  2001
    a\nb
dvander@2762
  2002
    a\rb
dvander@2762
  2003
    a\r\nb
dvander@2762
  2004
    a\x0bb
dvander@2762
  2005
    a\x0cb
dvander@2762
  2006
    a\x85b
dvander@2762
  2007
    ** Failers
dvander@2762
  2008
    a\n\rb
dvander@2762
  2009
dvander@2762
  2010
/^a\R*b/<bsr_unicode>
dvander@2762
  2011
    ab
dvander@2762
  2012
    a\nb
dvander@2762
  2013
    a\rb
dvander@2762
  2014
    a\r\nb
dvander@2762
  2015
    a\x0bb
dvander@2762
  2016
    a\x0cb
dvander@2762
  2017
    a\x85b
dvander@2762
  2018
    a\n\rb
dvander@2762
  2019
    a\n\r\x85\x0cb
dvander@2762
  2020
dvander@2762
  2021
/^a\R+b/<bsr_unicode>
dvander@2762
  2022
    a\nb
dvander@2762
  2023
    a\rb
dvander@2762
  2024
    a\r\nb
dvander@2762
  2025
    a\x0bb
dvander@2762
  2026
    a\x0cb
dvander@2762
  2027
    a\x85b
dvander@2762
  2028
    a\n\rb
dvander@2762
  2029
    a\n\r\x85\x0cb
dvander@2762
  2030
    ** Failers
dvander@2762
  2031
    ab
dvander@2762
  2032
dvander@2762
  2033
/^a\R{1,3}b/<bsr_unicode>
dvander@2762
  2034
    a\nb
dvander@2762
  2035
    a\n\rb
dvander@2762
  2036
    a\n\r\x85b
dvander@2762
  2037
    a\r\n\r\nb
dvander@2762
  2038
    a\r\n\r\n\r\nb
dvander@2762
  2039
    a\n\r\n\rb
dvander@2762
  2040
    a\n\n\r\nb
dvander@2762
  2041
    ** Failers
dvander@2762
  2042
    a\n\n\n\rb
dvander@2762
  2043
    a\r
dvander@2762
  2044
dvander@2762
  2045
/^a[\R]b/<bsr_unicode>
dvander@2762
  2046
    aRb
dvander@2762
  2047
    ** Failers
dvander@2762
  2048
    a\nb
dvander@2762
  2049
dvander@2762
  2050
/(?&abc)X(?<abc>P)/I
dvander@2762
  2051
    abcPXP123
dvander@2762
  2052
dvander@2762
  2053
/(?1)X(?<abc>P)/I
dvander@2762
  2054
    abcPXP123
dvander@2762
  2055
dvander@2762
  2056
/(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/
dvander@2762
  2057
    1.2.3.4
dvander@2762
  2058
    131.111.10.206
dvander@2762
  2059
    10.0.0.0
dvander@2762
  2060
    ** Failers
dvander@2762
  2061
    10.6
dvander@2762
  2062
    455.3.4.5
dvander@2762
  2063
dvander@2762
  2064
/\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/
dvander@2762
  2065
    1.2.3.4
dvander@2762
  2066
    131.111.10.206
dvander@2762
  2067
    10.0.0.0
dvander@2762
  2068
    ** Failers
dvander@2762
  2069
    10.6
dvander@2762
  2070
    455.3.4.5
dvander@2762
  2071
dvander@2762
  2072
/(?:a(?&abc)b)*(?<abc>x)/
dvander@2762
  2073
    123axbaxbaxbx456
dvander@2762
  2074
    123axbaxbaxb456
dvander@2762
  2075
dvander@2762
  2076
/(?:a(?&abc)b){1,5}(?<abc>x)/
dvander@2762
  2077
    123axbaxbaxbx456
dvander@2762
  2078
dvander@2762
  2079
/(?:a(?&abc)b){2,5}(?<abc>x)/
dvander@2762
  2080
    123axbaxbaxbx456
dvander@2762
  2081
dvander@2762
  2082
/(?:a(?&abc)b){2,}(?<abc>x)/
dvander@2762
  2083
    123axbaxbaxbx456
dvander@2762
  2084
dvander@2762
  2085
/(abc)(?i:(?1))/
dvander@2762
  2086
   defabcabcxyz
dvander@2762
  2087
   DEFabcABCXYZ
dvander@2762
  2088
dvander@2762
  2089
/(abc)(?:(?i)(?1))/
dvander@2762
  2090
   defabcabcxyz
dvander@2762
  2091
   DEFabcABCXYZ
dvander@2762
  2092
dvander@2762
  2093
/^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/
dvander@2762
  2094
    ababababbbabZXXXX
dvander@2762
  2095
dvander@2762
  2096
/^(a)\g-2/
dvander@2762
  2097
dvander@2762
  2098
/^(a)\g/
dvander@2762
  2099
dvander@2762
  2100
/^(a)\g{0}/
dvander@2762
  2101
dvander@2762
  2102
/^(a)\g{3/
dvander@2762
  2103
dvander@2762
  2104
/^(a)\g{4a}/
dvander@2762
  2105
dvander@2762
  2106
/^a.b/<lf>
dvander@2762
  2107
    a\rb
dvander@2762
  2108
    *** Failers
dvander@2762
  2109
    a\nb
dvander@2762
  2110
dvander@2762
  2111
/.+foo/
dvander@2762
  2112
    afoo
dvander@2762
  2113
    ** Failers
dvander@2762
  2114
    \r\nfoo
dvander@2762
  2115
    \nfoo
dvander@2762
  2116
dvander@2762
  2117
/.+foo/<crlf>
dvander@2762
  2118
    afoo
dvander@2762
  2119
    \nfoo
dvander@2762
  2120
    ** Failers
dvander@2762
  2121
    \r\nfoo
dvander@2762
  2122
dvander@2762
  2123
/.+foo/<any>
dvander@2762
  2124
    afoo
dvander@2762
  2125
    ** Failers
dvander@2762
  2126
    \nfoo
dvander@2762
  2127
    \r\nfoo
dvander@2762
  2128
dvander@2762
  2129
/.+foo/s
dvander@2762
  2130
    afoo
dvander@2762
  2131
    \r\nfoo
dvander@2762
  2132
    \nfoo
dvander@2762
  2133
    
dvander@2762
  2134
/^$/mg<any>
dvander@2762
  2135
    abc\r\rxyz
dvander@2762
  2136
    abc\n\rxyz  
dvander@2762
  2137
    ** Failers 
dvander@2762
  2138
    abc\r\nxyz
dvander@2762
  2139
dvander@2762
  2140
/(?m)^$/<any>g+
dvander@2762
  2141
    abc\r\n\r\n
dvander@2762
  2142
dvander@2762
  2143
/(?m)^$|^\r\n/<any>g+ 
dvander@2762
  2144
    abc\r\n\r\n
dvander@2762
  2145
    
dvander@2762
  2146
/(?m)$/<any>g+ 
dvander@2762
  2147
    abc\r\n\r\n
dvander@2762
  2148
dvander@2762
  2149
/abc.$/mgx<anycrlf>
dvander@2762
  2150
    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
dvander@2762
  2151
dvander@2762
  2152
/^X/m
dvander@2762
  2153
    XABC
dvander@2762
  2154
    ** Failers 
dvander@2762
  2155
    XABC\B
dvander@2762
  2156
dvander@2762
  2157
/(ab|c)(?-1)/BZ
dvander@2762
  2158
    abc
dvander@2762
  2159
dvander@2762
  2160
/xy(?+1)(abc)/BZ
dvander@2762
  2161
    xyabcabc
dvander@2762
  2162
    ** Failers
dvander@2762
  2163
    xyabc  
dvander@2762
  2164
    
dvander@2762
  2165
/x(?-0)y/
dvander@2762
  2166
dvander@2762
  2167
/x(?-1)y/
dvander@2762
  2168
dvander@2762
  2169
/x(?+0)y/ 
dvander@2762
  2170
dvander@2762
  2171
/x(?+1)y/
dvander@2762
  2172
dvander@2762
  2173
/^(abc)?(?(-1)X|Y)/BZ
dvander@2762
  2174
    abcX
dvander@2762
  2175
    Y
dvander@2762
  2176
    ** Failers
dvander@2762
  2177
    abcY   
dvander@2762
  2178
    
dvander@2762
  2179
/^((?(+1)X|Y)(abc))+/BZ 
dvander@2762
  2180
    YabcXabc
dvander@2762
  2181
    YabcXabcXabc
dvander@2762
  2182
    ** Failers
dvander@2762
  2183
    XabcXabc  
dvander@2762
  2184
dvander@2762
  2185
/(?(-1)a)/BZ
dvander@2762
  2186
dvander@2762
  2187
/((?(-1)a))/BZ
dvander@2762
  2188
dvander@2762
  2189
/((?(-2)a))/BZ
dvander@2762
  2190
dvander@2762
  2191
/^(?(+1)X|Y)(.)/BZ
dvander@2762
  2192
    Y!
dvander@2762
  2193
dvander@2762
  2194
/(foo)\Kbar/
dvander@2762
  2195
    foobar
dvander@2762
  2196
   
dvander@2762
  2197
/(foo)(\Kbar|baz)/
dvander@2762
  2198
    foobar
dvander@2762
  2199
    foobaz 
dvander@2762
  2200
dvander@2762
  2201
/(foo\Kbar)baz/
dvander@2762
  2202
    foobarbaz
dvander@2762
  2203
dvander@2762
  2204
/(?<A>tom|bon)-\k{A}/
dvander@2762
  2205
    tom-tom
dvander@2762
  2206
    bon-bon 
dvander@2762
  2207
    ** Failers
dvander@2762
  2208
    tom-bon  
dvander@2762
  2209
dvander@2762
  2210
/(?<A>tom|bon)-\g{A}/
dvander@2762
  2211
    tom-tom
dvander@2762
  2212
    bon-bon 
dvander@2762
  2213
    
dvander@2762
  2214
/\g{A/ 
dvander@2762
  2215
dvander@2762
  2216
/(?|(abc)|(xyz))/BZ
dvander@2762
  2217
   >abc<
dvander@2762
  2218
   >xyz< 
dvander@2762
  2219
dvander@2762
  2220
/(x)(?|(abc)|(xyz))(x)/BZ
dvander@2762
  2221
    xabcx
dvander@2762
  2222
    xxyzx 
dvander@2762
  2223
dvander@2762
  2224
/(x)(?|(abc)(pqr)|(xyz))(x)/BZ
dvander@2762
  2225
    xabcpqrx
dvander@2762
  2226
    xxyzx 
dvander@2762
  2227
dvander@2762
  2228
/(?|(abc)|(xyz))\1/
dvander@2762
  2229
    abcabc
dvander@2762
  2230
    xyzxyz 
dvander@2762
  2231
    ** Failers
dvander@2762
  2232
    abcxyz
dvander@2762
  2233
    xyzabc   
dvander@2762
  2234
    
dvander@2762
  2235
/(?|(abc)|(xyz))(?1)/
dvander@2762
  2236
    abcabc
dvander@2762
  2237
    xyzabc 
dvander@2762
  2238
    ** Failers 
dvander@2762
  2239
    xyzxyz 
dvander@2762
  2240
 
dvander@2762
  2241
/\H\h\V\v/
dvander@2762
  2242
    X X\x0a
dvander@2762
  2243
    X\x09X\x0b
dvander@2762
  2244
    ** Failers
dvander@2762
  2245
    \xa0 X\x0a   
dvander@2762
  2246
    
dvander@2762
  2247
/\H*\h+\V?\v{3,4}/ 
dvander@2762
  2248
    \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
dvander@2762
  2249
    \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
dvander@2762
  2250
    \x09\x20\xa0\x0a\x0b\x0c
dvander@2762
  2251
    ** Failers 
dvander@2762
  2252
    \x09\x20\xa0\x0a\x0b
dvander@2762
  2253
     
dvander@2762
  2254
/\H{3,4}/
dvander@2762
  2255
    XY  ABCDE
dvander@2762
  2256
    XY  PQR ST 
dvander@2762
  2257
    
dvander@2762
  2258
/.\h{3,4}./
dvander@2762
  2259
    XY  AB    PQRS
dvander@2762
  2260
dvander@2762
  2261
/\h*X\h?\H+Y\H?Z/
dvander@2762
  2262
    >XNNNYZ
dvander@2762
  2263
    >  X NYQZ
dvander@2762
  2264
    ** Failers
dvander@2762
  2265
    >XYZ   
dvander@2762
  2266
    >  X NY Z
dvander@2762
  2267
dvander@2762
  2268
/\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
dvander@2762
  2269
    >XY\x0aZ\x0aA\x0bNN\x0c
dvander@2762
  2270
    >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
dvander@2762
  2271
dvander@2762
  2272
/[\h]/BZ
dvander@2762
  2273
    >\x09<
dvander@2762
  2274
dvander@2762
  2275
/[\h]+/BZ
dvander@2762
  2276
    >\x09\x20\xa0<
dvander@2762
  2277
dvander@2762
  2278
/[\v]/BZ
dvander@2762
  2279
dvander@2762
  2280
/[\H]/BZ
dvander@2762
  2281
dvander@2762
  2282
/[^\h]/BZ
dvander@2762
  2283
dvander@2762
  2284
/[\V]/BZ
dvander@2762
  2285
dvander@2762
  2286
/[\x0a\V]/BZ
dvander@2762
  2287
dvander@2762
  2288
/\H++X/BZ
dvander@2762
  2289
    ** Failers
dvander@2762
  2290
    XXXX
dvander@2762
  2291
    
dvander@2762
  2292
/\H+\hY/BZ
dvander@2762
  2293
    XXXX Y 
dvander@2762
  2294
dvander@2762
  2295
/\H+ Y/BZ
dvander@2762
  2296
dvander@2762
  2297
/\h+A/BZ
dvander@2762
  2298
dvander@2762
  2299
/\v*B/BZ
dvander@2762
  2300
dvander@2762
  2301
/\V+\x0a/BZ
dvander@2762
  2302
dvander@2762
  2303
/A+\h/BZ
dvander@2762
  2304
dvander@2762
  2305
/ *\H/BZ
dvander@2762
  2306
dvander@2762
  2307
/A*\v/BZ
dvander@2762
  2308
dvander@2762
  2309
/\x0b*\V/BZ
dvander@2762
  2310
dvander@2762
  2311
/\d+\h/BZ
dvander@2762
  2312
dvander@2762
  2313
/\d*\v/BZ
dvander@2762
  2314
dvander@2762
  2315
/S+\h\S+\v/BZ
dvander@2762
  2316
dvander@2762
  2317
/\w{3,}\h\w+\v/BZ
dvander@2762
  2318
dvander@2762
  2319
/\h+\d\h+\w\h+\S\h+\H/BZ
dvander@2762
  2320
dvander@2762
  2321
/\v+\d\v+\w\v+\S\v+\V/BZ
dvander@2762
  2322
dvander@2762
  2323
/\H+\h\H+\d/BZ
dvander@2762
  2324
dvander@2762
  2325
/\V+\v\V+\w/BZ
dvander@2762
  2326
dvander@2762
  2327
/\( (?: [^()]* | (?R) )* \)/x
dvander@2762
  2328
(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
dvander@2762
  2329
dvander@2762
  2330
/[\E]AAA/
dvander@2762
  2331
dvander@2762
  2332
/[\Q\E]AAA/
dvander@2762
  2333
dvander@2762
  2334
/[^\E]AAA/
dvander@2762
  2335
dvander@2762
  2336
/[^\Q\E]AAA/
dvander@2762
  2337
dvander@2762
  2338
/[\E^]AAA/
dvander@2762
  2339
dvander@2762
  2340
/[\Q\E^]AAA/
dvander@2762
  2341
dvander@2762
  2342
/A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
dvander@2762
  2343
dvander@2762
  2344
/^a+(*FAIL)/
dvander@2762
  2345
    aaaaaa
dvander@2762
  2346
    
dvander@2762
  2347
/a+b?c+(*FAIL)/
dvander@2762
  2348
    aaabccc
dvander@2762
  2349
dvander@2762
  2350
/a+b?(*PRUNE)c+(*FAIL)/
dvander@2762
  2351
    aaabccc
dvander@2762
  2352
dvander@2762
  2353
/a+b?(*COMMIT)c+(*FAIL)/
dvander@2762
  2354
    aaabccc
dvander@2762
  2355
    
dvander@2762
  2356
/a+b?(*SKIP)c+(*FAIL)/
dvander@2762
  2357
    aaabcccaaabccc
dvander@2762
  2358
dvander@2762
  2359
/^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
dvander@2762
  2360
    aaaxxxxxx
dvander@2762
  2361
    aaa++++++ 
dvander@2762
  2362
    bbbxxxxx
dvander@2762
  2363
    bbb+++++ 
dvander@2762
  2364
    cccxxxx
dvander@2762
  2365
    ccc++++ 
dvander@2762
  2366
    dddddddd   
dvander@2762
  2367
dvander@2762
  2368
/^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
dvander@2762
  2369
    aaaxxxxxx
dvander@2762
  2370
    aaa++++++ 
dvander@2762
  2371
    bbbxxxxx
dvander@2762
  2372
    bbb+++++ 
dvander@2762
  2373
    cccxxxx
dvander@2762
  2374
    ccc++++ 
dvander@2762
  2375
    dddddddd   
dvander@2762
  2376
dvander@2762
  2377
/a+b?(*THEN)c+(*FAIL)/
dvander@2762
  2378
    aaabccc
dvander@2762
  2379
dvander@2762
  2380
/(A (A|B(*ACCEPT)|C) D)(E)/x
dvander@2762
  2381
    ABX
dvander@2762
  2382
    AADE
dvander@2762
  2383
    ACDE
dvander@2762
  2384
    ** Failers
dvander@2762
  2385
    AD 
dvander@2762
  2386
        
dvander@2762
  2387
/^a+(*FAIL)/C
dvander@2762
  2388
    aaaaaa
dvander@2762
  2389
    
dvander@2762
  2390
/a+b?c+(*FAIL)/C
dvander@2762
  2391
    aaabccc
dvander@2762
  2392
dvander@2762
  2393
/a+b?(*PRUNE)c+(*FAIL)/C
dvander@2762
  2394
    aaabccc
dvander@2762
  2395
dvander@2762
  2396
/a+b?(*COMMIT)c+(*FAIL)/C
dvander@2762
  2397
    aaabccc
dvander@2762
  2398
    
dvander@2762
  2399
/a+b?(*SKIP)c+(*FAIL)/C
dvander@2762
  2400
    aaabcccaaabccc
dvander@2762
  2401
dvander@2762
  2402
/a+b?(*THEN)c+(*FAIL)/C
dvander@2762
  2403
    aaabccc
dvander@2762
  2404
    
dvander@2762
  2405
/a(*PRUNE:XXX)b/
dvander@2762
  2406
dvander@2762
  2407
/a(*MARK)b/ 
dvander@2762
  2408
dvander@2762
  2409
/(?i:A{1,}\6666666666)/
dvander@2762
  2410
dvander@2762
  2411
/\g6666666666/
dvander@2762
  2412
dvander@2762
  2413
/[\g6666666666]/
dvander@2762
  2414
dvander@2762
  2415
/(?1)\c[/
dvander@2762
  2416
dvander@2762
  2417
/.+A/<crlf>
dvander@2762
  2418
    \r\nA
dvander@2762
  2419
    
dvander@2762
  2420
/\nA/<crlf>
dvander@2762
  2421
    \r\nA 
dvander@2762
  2422
dvander@2762
  2423
/[\r\n]A/<crlf>
dvander@2762
  2424
    \r\nA 
dvander@2762
  2425
dvander@2762
  2426
/(\r|\n)A/<crlf>
dvander@2762
  2427
    \r\nA 
dvander@2762
  2428
dvander@2762
  2429
/a(*CR)b/
dvander@2762
  2430
dvander@2762
  2431
/(*CR)a.b/
dvander@2762
  2432
    a\nb
dvander@2762
  2433
    ** Failers
dvander@2762
  2434
    a\rb  
dvander@2762
  2435
dvander@2762
  2436
/(*CR)a.b/<lf>
dvander@2762
  2437
    a\nb
dvander@2762
  2438
    ** Failers
dvander@2762
  2439
    a\rb  
dvander@2762
  2440
dvander@2762
  2441
/(*LF)a.b/<CRLF>
dvander@2762
  2442
    a\rb
dvander@2762
  2443
    ** Failers
dvander@2762
  2444
    a\nb  
dvander@2762
  2445
dvander@2762
  2446
/(*CRLF)a.b/
dvander@2762
  2447
    a\rb
dvander@2762
  2448
    a\nb  
dvander@2762
  2449
    ** Failers
dvander@2762
  2450
    a\r\nb  
dvander@2762
  2451
dvander@2762
  2452
/(*ANYCRLF)a.b/<CR>
dvander@2762
  2453
    ** Failers
dvander@2762
  2454
    a\rb
dvander@2762
  2455
    a\nb  
dvander@2762
  2456
    a\r\nb  
dvander@2762
  2457
dvander@2762
  2458
/(*ANY)a.b/<cr>
dvander@2762
  2459
    ** Failers
dvander@2762
  2460
    a\rb
dvander@2762
  2461
    a\nb  
dvander@2762
  2462
    a\r\nb  
dvander@2762
  2463
    a\x85b 
dvander@2762
  2464
dvander@2762
  2465
/a\Rb/I<bsr_anycrlf>
dvander@2762
  2466
    a\rb
dvander@2762
  2467
    a\nb
dvander@2762
  2468
    a\r\nb
dvander@2762
  2469
    ** Failers
dvander@2762
  2470
    a\x85b
dvander@2762
  2471
    a\x0bb     
dvander@2762
  2472
dvander@2762
  2473
/a\Rb/I<bsr_unicode>
dvander@2762
  2474
    a\rb
dvander@2762
  2475
    a\nb
dvander@2762
  2476
    a\r\nb
dvander@2762
  2477
    a\x85b
dvander@2762
  2478
    a\x0bb     
dvander@2762
  2479
    ** Failers 
dvander@2762
  2480
    a\x85b\<bsr_anycrlf>
dvander@2762
  2481
    a\x0bb\<bsr_anycrlf>
dvander@2762
  2482
    
dvander@2762
  2483
/a\R?b/I<bsr_anycrlf>
dvander@2762
  2484
    a\rb
dvander@2762
  2485
    a\nb
dvander@2762
  2486
    a\r\nb
dvander@2762
  2487
    ** Failers
dvander@2762
  2488
    a\x85b
dvander@2762
  2489
    a\x0bb     
dvander@2762
  2490
dvander@2762
  2491
/a\R?b/I<bsr_unicode>
dvander@2762
  2492
    a\rb
dvander@2762
  2493
    a\nb
dvander@2762
  2494
    a\r\nb
dvander@2762
  2495
    a\x85b
dvander@2762
  2496
    a\x0bb     
dvander@2762
  2497
    ** Failers 
dvander@2762
  2498
    a\x85b\<bsr_anycrlf>
dvander@2762
  2499
    a\x0bb\<bsr_anycrlf>
dvander@2762
  2500
    
dvander@2762
  2501
/a\R{2,4}b/I<bsr_anycrlf>
dvander@2762
  2502
    a\r\n\nb
dvander@2762
  2503
    a\n\r\rb
dvander@2762
  2504
    a\r\n\r\n\r\n\r\nb
dvander@2762
  2505
    ** Failers
dvander@2762
  2506
    a\x85\85b
dvander@2762
  2507
    a\x0b\0bb     
dvander@2762
  2508
dvander@2762
  2509
/a\R{2,4}b/I<bsr_unicode>
dvander@2762
  2510
    a\r\rb
dvander@2762
  2511
    a\n\n\nb
dvander@2762
  2512
    a\r\n\n\r\rb
dvander@2762
  2513
    a\x85\85b
dvander@2762
  2514
    a\x0b\0bb     
dvander@2762
  2515
    ** Failers 
dvander@2762
  2516
    a\r\r\r\r\rb 
dvander@2762
  2517
    a\x85\85b\<bsr_anycrlf>
dvander@2762
  2518
    a\x0b\0bb\<bsr_anycrlf>
dvander@2762
  2519
 
dvander@2762
  2520
/(*BSR_ANYCRLF)a\Rb/I
dvander@2762
  2521
    a\nb
dvander@2762
  2522
    a\rb 
dvander@2762
  2523
dvander@2762
  2524
/(*BSR_UNICODE)a\Rb/I
dvander@2762
  2525
    a\x85b
dvander@2762
  2526
dvander@2762
  2527
/(*BSR_ANYCRLF)(*CRLF)a\Rb/I
dvander@2762
  2528
    a\nb
dvander@2762
  2529
    a\rb 
dvander@2762
  2530
dvander@2762
  2531
/(*CRLF)(*BSR_UNICODE)a\Rb/I
dvander@2762
  2532
    a\x85b
dvander@2762
  2533
dvander@2762
  2534
/(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
dvander@2762
  2535
dvander@2762
  2536
/(?<a>)(?&)/
dvander@2762
  2537
dvander@2762
  2538
/(?<abc>)(?&a)/
dvander@2762
  2539
dvander@2762
  2540
/(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
dvander@2762
  2541
dvander@2762
  2542
/(?+-a)/
dvander@2762
  2543
dvander@2762
  2544
/(?-+a)/
dvander@2762
  2545
dvander@2762
  2546
/(?(-1))/
dvander@2762
  2547
dvander@2762
  2548
/(?(+10))/
dvander@2762
  2549
dvander@2762
  2550
/(?(10))/
dvander@2762
  2551
dvander@2762
  2552
/(?(+2))()()/
dvander@2762
  2553
dvander@2762
  2554
/(?(2))()()/
dvander@2762
  2555
dvander@2762
  2556
/\k''/
dvander@2762
  2557
dvander@2762
  2558
/\k<>/
dvander@2762
  2559
dvander@2762
  2560
/\k{}/
dvander@2762
  2561
dvander@2762
  2562
/(?P=)/
dvander@2762
  2563
dvander@2762
  2564
/(?P>)/
dvander@2762
  2565
dvander@2762
  2566
/(?!\w)(?R)/
dvander@2762
  2567
dvander@2762
  2568
/(?=\w)(?R)/
dvander@2762
  2569
dvander@2762
  2570
/(?<!\w)(?R)/
dvander@2762
  2571
dvander@2762
  2572
/(?<=\w)(?R)/
dvander@2762
  2573
dvander@2762
  2574
/[[:foo:]]/
dvander@2762
  2575
dvander@2762
  2576
/[[:1234:]]/
dvander@2762
  2577
dvander@2762
  2578
/[[:f\oo:]]/
dvander@2762
  2579
dvander@2762
  2580
/[[: :]]/
dvander@2762
  2581
dvander@2762
  2582
/[[:...:]]/
dvander@2762
  2583
dvander@2762
  2584
/[[:l\ower:]]/
dvander@2762
  2585
dvander@2762
  2586
/[[:abc\:]]/
dvander@2762
  2587
dvander@2762
  2588
/[abc[:x\]pqr:]]/
dvander@2762
  2589
dvander@2762
  2590
/[[:a\dz:]]/
dvander@2762
  2591
dvander@2762
  2592
/^(?<name>a|b\g<name>c)/
dvander@2762
  2593
    aaaa
dvander@2762
  2594
    bacxxx
dvander@2762
  2595
    bbaccxxx 
dvander@2762
  2596
    bbbacccxx
dvander@2762
  2597
dvander@2762
  2598
/^(?<name>a|b\g'name'c)/
dvander@2762
  2599
    aaaa
dvander@2762
  2600
    bacxxx
dvander@2762
  2601
    bbaccxxx 
dvander@2762
  2602
    bbbacccxx
dvander@2762
  2603
dvander@2762
  2604
/^(a|b\g<1>c)/
dvander@2762
  2605
    aaaa
dvander@2762
  2606
    bacxxx
dvander@2762
  2607
    bbaccxxx 
dvander@2762
  2608
    bbbacccxx
dvander@2762
  2609
dvander@2762
  2610
/^(a|b\g'1'c)/
dvander@2762
  2611
    aaaa
dvander@2762
  2612
    bacxxx
dvander@2762
  2613
    bbaccxxx 
dvander@2762
  2614
    bbbacccxx
dvander@2762
  2615
dvander@2762
  2616
/^(a|b\g'-1'c)/
dvander@2762
  2617
    aaaa
dvander@2762
  2618
    bacxxx
dvander@2762
  2619
    bbaccxxx 
dvander@2762
  2620
    bbbacccxx
dvander@2762
  2621
dvander@2762
  2622
/(^(a|b\g<-1>c))/
dvander@2762
  2623
    aaaa
dvander@2762
  2624
    bacxxx
dvander@2762
  2625
    bbaccxxx 
dvander@2762
  2626
    bbbacccxx
dvander@2762
  2627
dvander@2762
  2628
/(^(a|b\g<-1'c))/
dvander@2762
  2629
dvander@2762
  2630
/(^(a|b\g{-1}))/
dvander@2762
  2631
    bacxxx
dvander@2762
  2632
dvander@2762
  2633
/(?-i:\g<name>)(?i:(?<name>a))/
dvander@2762
  2634
    XaaX
dvander@2762
  2635
    XAAX 
dvander@2762
  2636
dvander@2762
  2637
/(?i:\g<name>)(?-i:(?<name>a))/
dvander@2762
  2638
    XaaX
dvander@2762
  2639
    ** Failers 
dvander@2762
  2640
    XAAX 
dvander@2762
  2641
dvander@2762
  2642
/(?-i:\g<+1>)(?i:(a))/
dvander@2762
  2643
    XaaX
dvander@2762
  2644
    XAAX 
dvander@2762
  2645
dvander@2762
  2646
/(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
dvander@2762
  2647
dvander@2762
  2648
/(?<n>a|b|c)\g<n>*/
dvander@2762
  2649
   abc
dvander@2762
  2650
   accccbbb 
dvander@2762
  2651
dvander@2762
  2652
/^(?+1)(?<a>x|y){0}z/
dvander@2762
  2653
    xzxx
dvander@2762
  2654
    yzyy 
dvander@2762
  2655
    ** Failers
dvander@2762
  2656
    xxz  
dvander@2762
  2657
dvander@2762
  2658
/(\3)(\1)(a)/
dvander@2762
  2659
    cat
dvander@2762
  2660
dvander@2762
  2661
/(\3)(\1)(a)/<JS>
dvander@2762
  2662
    cat
dvander@2762
  2663
    
dvander@2762
  2664
/TA]/
dvander@2762
  2665
    The ACTA] comes 
dvander@2762
  2666
dvander@2762
  2667
/TA]/<JS>
dvander@2762
  2668
    The ACTA] comes 
dvander@2762
  2669
dvander@2762
  2670
/(?2)[]a()b](abc)/
dvander@2762
  2671
    abcbabc
dvander@2762
  2672
dvander@2762
  2673
/(?2)[^]a()b](abc)/
dvander@2762
  2674
    abcbabc
dvander@2762
  2675
dvander@2762
  2676
/(?1)[]a()b](abc)/
dvander@2762
  2677
    abcbabc
dvander@2762
  2678
    ** Failers 
dvander@2762
  2679
    abcXabc
dvander@2762
  2680
dvander@2762
  2681
/(?1)[^]a()b](abc)/
dvander@2762
  2682
    abcXabc
dvander@2762
  2683
    ** Failers 
dvander@2762
  2684
    abcbabc
dvander@2762
  2685
dvander@2762
  2686
/(?2)[]a()b](abc)(xyz)/
dvander@2762
  2687
    xyzbabcxyz
dvander@2762
  2688
dvander@2762
  2689
/(?&N)[]a(?<N>)](?<M>abc)/
dvander@2762
  2690
   abc<abc
dvander@2762
  2691
dvander@2762
  2692
/(?&N)[]a(?<N>)](abc)/
dvander@2762
  2693
   abc<abc
dvander@2762
  2694
dvander@2762
  2695
/a[]b/
dvander@2762
  2696
dvander@2762
  2697
/a[^]b/
dvander@2762
  2698
dvander@2762
  2699
/a[]b/<JS>
dvander@2762
  2700
    ** Failers
dvander@2762
  2701
    ab
dvander@2762
  2702
dvander@2762
  2703
/a[]+b/<JS>
dvander@2762
  2704
    ** Failers
dvander@2762
  2705
    ab 
dvander@2762
  2706
dvander@2762
  2707
/a[]*+b/<JS>
dvander@2762
  2708
    ** Failers
dvander@2762
  2709
    ab 
dvander@2762
  2710
dvander@2762
  2711
/a[^]b/<JS>
dvander@2762
  2712
    aXb
dvander@2762
  2713
    a\nb 
dvander@2762
  2714
    ** Failers
dvander@2762
  2715
    ab  
dvander@2762
  2716
    
dvander@2762
  2717
/a[^]+b/<JS> 
dvander@2762
  2718
    aXb
dvander@2762
  2719
    a\nX\nXb 
dvander@2762
  2720
    ** Failers
dvander@2762
  2721
    ab  
dvander@2762
  2722
dvander@2762
  2723
/a(?!)+b/
dvander@2762
  2724
dvander@2762
  2725
/a(*FAIL)+b/
dvander@2762
  2726
dvander@2762
  2727
/(abc|pqr|123){0}[xyz]/SI
dvander@2762
  2728
dvander@2762
  2729
/(?(?=.*b)b|^)/CI
dvander@2762
  2730
   adc
dvander@2762
  2731
   abc 
dvander@2762
  2732
   
dvander@2762
  2733
/(?(?=b).*b|^d)/I
dvander@2762
  2734
dvander@2762
  2735
/(?(?=.*b).*b|^d)/I
dvander@2762
  2736
dvander@2762
  2737
/a?|b?/P
dvander@2762
  2738
    abc
dvander@2762
  2739
    ** Failers
dvander@2762
  2740
    ddd\N   
dvander@2762
  2741
dvander@2762
  2742
/xyz/C
dvander@2762
  2743
  xyz 
dvander@2762
  2744
  abcxyz 
dvander@2762
  2745
  abcxyz\Y
dvander@2762
  2746
  ** Failers 
dvander@2762
  2747
  abc
dvander@2762
  2748
  abc\Y
dvander@2762
  2749
  abcxypqr  
dvander@2762
  2750
  abcxypqr\Y  
dvander@2762
  2751
dvander@2762
  2752
/^"((?(?=[a])[^"])|b)*"$/C
dvander@2762
  2753
    "ab"
dvander@2762
  2754
dvander@2762
  2755
/^"((?(?=[a])[^"])|b)*"$/
dvander@2762
  2756
    "ab"
dvander@2762
  2757
dvander@2762
  2758
/^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/
dvander@2762
  2759
    XYabcdY
dvander@2762
  2760
dvander@2762
  2761
/^X(?5)(a)(?|(b)|(q))(c)(d)Y/
dvander@2762
  2762
    XYabcdY
dvander@2762
  2763
dvander@2762
  2764
/^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
dvander@2762
  2765
    XYabcdY
dvander@2762
  2766
 
dvander@2762
  2767
/^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
dvander@2762
  2768
    XYabcdY
dvander@2762
  2769
dvander@2762
  2770
/^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/
dvander@2762
  2771
    XYabcdY
dvander@2762
  2772
dvander@2762
  2773
/^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/
dvander@2762
  2774
    XYabcdY
dvander@2762
  2775
dvander@2762
  2776
/ End of testinput2 /