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