pcre-light-0.1: tests/testdata/regex9.tests
testRegex "\\pL\\P{Nd}" [ERROR]
["AB",
"*** Failers",
"A0",
"00 "]
[Just [" 0: AB"],
Just [" 0: Fa"],
Nothing,
Nothing]
,
testRegex "\\X." [ERROR]
["AB",
"A\\x{300}BC ",
"A\\x{300}\\x{301}\\x{302}BC ",
"*** Failers",
"\\x{300} "]
[Just [" 0: AB"],
Just [" 0: A\\x{300}B"],
Just [" 0: A\\x{300}\\x{301}\\x{302}B"],
Just [" 0: **"],
Nothing]
,
testRegex "\\X\\X" [ERROR]
["ABC",
"A\\x{300}B\\x{300}\\x{301}C ",
"A\\x{300}\\x{301}\\x{302}BC ",
"*** Failers",
"\\x{300} "]
[Just [" 0: AB"],
Just [" 0: A\\x{300}B\\x{300}\\x{301}"],
Just [" 0: A\\x{300}\\x{301}\\x{302}B"],
Just [" 0: **"],
Nothing]
,
testRegex "^\\pL+" [ERROR]
["abcd",
"a ",
"*** Failers "]
[Just [" 0: abcd"],
Just [" 1: abc"],
Just [" 2: ab"],
Just [" 3: a"],
Just [" 0: a"],
Nothing]
,
testRegex "^\\PL+" [ERROR]
["1234",
"= ",
"*** Failers ",
"abcd "]
[Just [" 0: 1234"],
Just [" 1: 123"],
Just [" 2: 12"],
Just [" 3: 1"],
Just [" 0: ="],
Just [" 0: *** "],
Just [" 1: ***"],
Just [" 2: **"],
Just [" 3: *"],
Nothing]
,
testRegex "^\\X+" [ERROR]
["abcdA\\x{300}\\x{301}\\x{302}",
"A\\x{300}\\x{301}\\x{302}",
"A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}",
"a ",
"*** Failers ",
"\\x{300}\\x{301}\\x{302}"]
[Just [" 0: abcdA\\x{300}\\x{301}\\x{302}"],
Just [" 1: abcd"],
Just [" 2: abc"],
Just [" 3: ab"],
Just [" 4: a"],
Just [" 0: A\\x{300}\\x{301}\\x{302}"],
Just [" 0: A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}"],
Just [" 1: A\\x{300}\\x{301}\\x{302}"],
Just [" 0: a"],
Just [" 0: *** Failers"],
Just [" 1: *** Failer"],
Just [" 2: *** Faile"],
Just [" 3: *** Fail"],
Just [" 4: *** Fai"],
Just [" 5: *** Fa"],
Just [" 6: *** F"],
Just [" 7: *** "],
Just [" 8: ***"],
Just [" 9: **"],
Just ["10: *"],
Nothing]
,
testRegex "\\X?abc" [ERROR]
["abc",
"A\\x{300}abc",
"A\\x{300}\\x{301}\\x{302}A\\x{300}A\\x{300}A\\x{300}abcxyz",
"\\x{300}abc ",
"*** Failers"]
[Just [" 0: abc"],
Just [" 0: A\\x{300}abc"],
Just [" 0: A\\x{300}abc"],
Just [" 0: abc"],
Nothing]
,
testRegex "^\\X?abc" [ERROR]
["abc",
"A\\x{300}abc",
"*** Failers",
"A\\x{300}\\x{301}\\x{302}A\\x{300}A\\x{300}A\\x{300}abcxyz",
"\\x{300}abc "]
[Just [" 0: abc"],
Just [" 0: A\\x{300}abc"],
Nothing,
Nothing,
Nothing]
,
testRegex "\\X*abc" [ERROR]
["abc",
"A\\x{300}abc",
"A\\x{300}\\x{301}\\x{302}A\\x{300}A\\x{300}A\\x{300}abcxyz",
"\\x{300}abc ",
"*** Failers"]
[Just [" 0: abc"],
Just [" 0: A\\x{300}abc"],
Just [" 0: A\\x{300}\\x{301}\\x{302}A\\x{300}A\\x{300}A\\x{300}abc"],
Just [" 0: abc"],
Nothing]
,
testRegex "^\\X*abc" [ERROR]
["abc",
"A\\x{300}abc",
"A\\x{300}\\x{301}\\x{302}A\\x{300}A\\x{300}A\\x{300}abcxyz",
"*** Failers",
"\\x{300}abc "]
[Just [" 0: abc"],
Just [" 0: A\\x{300}abc"],
Just [" 0: A\\x{300}\\x{301}\\x{302}A\\x{300}A\\x{300}A\\x{300}abc"],
Nothing,
Nothing]
,
testRegex "^\\pL?=." [ERROR]
["A=b",
"=c ",
"*** Failers",
"1=2 ",
"AAAA=b "]
[Just [" 0: A=b"],
Just [" 0: =c"],
Nothing,
Nothing,
Nothing]
,
testRegex "^\\pL*=." [ERROR]
["AAAA=b",
"=c ",
"*** Failers",
"1=2 "]
[Just [" 0: AAAA=b"],
Just [" 0: =c"],
Nothing,
Nothing]
,
testRegex "^\\X{2,3}X" [ERROR]
["A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}X",
"A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}X ",
"*** Failers",
"X",
"A\\x{300}\\x{301}\\x{302}X",
"A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}X"]
[Just [" 0: A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}X"],
Just [" 0: A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}A\\x{300}\\x{301}\\x{302}X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^\\pC\\pL\\pM\\pN\\pP\\pS\\pZ<" [ERROR]
["\\x7f\\x{c0}\\x{30f}\\x{660}\\x{66c}\\x{f01}\\x{1680}<",
"\\np\\x{300}9!\\$ < ",
"** Failers ",
"ap\\x{300}9!\\$ < ",
"",
"/^\\PC/8",
"X",
"** Failers ",
"\\x7f",
"",
"/^\\PL/8",
"9",
"** Failers ",
"\\x{c0}",
"",
"/^\\PM/8",
"X",
"** Failers ",
"\\x{30f}",
"",
"/^\\PN/8",
"X",
"** Failers ",
"\\x{660}",
"",
"/^\\PP/8",
"X",
"** Failers ",
"\\x{66c}",
"",
"/^\\PS/8",
"X",
"** Failers ",
"\\x{f01}",
"",
"/^\\PZ/8",
"X",
"** Failers ",
"\\x{1680}",
"",
"/^\\p{Cc}/8",
"\\x{017}",
"\\x{09f} ",
"** Failers",
"\\x{0600} ",
"",
"/^\\p{Cf}/8",
"\\x{601}",
"** Failers",
"\\x{09f} ",
"",
"/^\\p{Cn}/8",
"** Failers",
"\\x{09f} ",
"",
"/^\\p{Co}/8",
"\\x{f8ff}",
"** Failers",
"\\x{09f} ",
"",
"/^\\p{Cs}/8",
"\\?\\x{dfff}",
"** Failers",
"\\x{09f} ",
"",
"/^\\p{Ll}/8",
"a",
"** Failers ",
"Z",
"\\x{e000} ",
"",
"/^\\p{Lm}/8",
"\\x{2b0}",
"** Failers",
"a ",
"",
"/^\\p{Lo}/8",
"\\x{1bb}",
"** Failers",
"a ",
"\\x{2b0}",
"",
"/^\\p{Lt}/8",
"\\x{1c5}",
"** Failers",
"a ",
"\\x{2b0}",
"",
"/^\\p{Lu}/8",
"A",
"** Failers",
"\\x{2b0}",
"",
"/^\\p{Mc}/8",
"\\x{903}",
"** Failers",
"X",
"\\x{300}",
"",
"/^\\p{Me}/8",
"\\x{488}",
"** Failers",
"X",
"\\x{903}",
"\\x{300}",
"",
"/^\\p{Mn}/8",
"\\x{300}",
"** Failers",
"X",
"\\x{903}",
"",
"/^\\p{Nd}+/8",
"0123456789\\x{660}\\x{661}\\x{662}\\x{663}\\x{664}\\x{665}\\x{666}\\x{667}\\x{668}\\x{669}\\x{66a}",
"\\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}\\x{6f4}\\x{6f5}\\x{6f6}\\x{6f7}\\x{6f8}\\x{6f9}\\x{6fa}",
"\\x{966}\\x{967}\\x{968}\\x{969}\\x{96a}\\x{96b}\\x{96c}\\x{96d}\\x{96e}\\x{96f}\\x{970}",
"** Failers",
"X",
"",
"/^\\p{Nl}/8",
"\\x{16ee}",
"** Failers",
"X",
"\\x{966}",
"",
"/^\\p{No}/8",
"\\x{b2}",
"\\x{b3}",
"** Failers",
"X",
"\\x{16ee}",
"",
"/^\\p{Pc}/8",
"\\x5f",
"\\x{203f}",
"** Failers",
"X",
"-",
"\\x{58a}",
"",
"/^\\p{Pd}/8",
"-",
"\\x{58a}",
"** Failers",
"X",
"\\x{203f}",
"",
"/^\\p{Pe}/8",
")",
"]",
"}",
"\\x{f3b}",
"** Failers",
"X",
"\\x{203f}",
"(",
"[",
"{",
"\\x{f3c}",
"",
"/^\\p{Pf}/8",
"\\x{bb}",
"\\x{2019}",
"** Failers",
"X",
"\\x{203f}",
"",
"/^\\p{Pi}/8",
"\\x{ab}",
"\\x{2018}",
"** Failers",
"X",
"\\x{203f}",
"",
"/^\\p{Po}/8",
"!",
"\\x{37e}",
"** Failers",
"X",
"\\x{203f}",
"",
"/^\\p{Ps}/8",
"(",
"[",
"{",
"\\x{f3c}",
"** Failers",
"X",
")",
"]",
"}",
"\\x{f3b}",
"",
"/^\\p{Sc}+/8",
"$\\x{a2}\\x{a3}\\x{a4}\\x{a5}\\x{a6}",
"\\x{9f2}",
"** Failers",
"X",
"\\x{2c2}",
"",
"/^\\p{Sk}/8",
"\\x{2c2}",
"** Failers",
"X",
"\\x{9f2}",
"",
"/^\\p{Sm}+/8",
"+<|~\\x{ac}\\x{2044}",
"** Failers",
"X",
"\\x{9f2}",
"",
"/^\\p{So}/8",
"\\x{a6}",
"\\x{482} ",
"** Failers",
"X",
"\\x{9f2}",
"",
"/^\\p{Zl}/8",
"\\x{2028}",
"** Failers",
"X",
"\\x{2029}",
"",
"/^\\p{Zp}/8",
"\\x{2029}",
"** Failers",
"X",
"\\x{2028}",
"",
"/^\\p{Zs}/8",
"\\ \\",
"\\x{a0}",
"\\x{1680}",
"\\x{180e}",
"\\x{2000}",
"\\x{2001} ",
"** Failers",
"\\x{2028}",
"\\x{200d} ",
"",
"/\\p{Nd}+(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}+?(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}{2,}(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}{2,}?(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}*(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}*?(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}{2}(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}{2,3}(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}{2,3}?(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}?(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}??(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}*+(..)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}*+(...)/8",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Nd}*+(....)/8",
"** Failers",
"\\x{660}\\x{661}\\x{662}ABC",
"",
"/\\p{Lu}/8i",
"A",
"a\\x{10a0}B ",
"** Failers ",
"a",
"\\x{1d00} "]
[Just [" 0: \\x{7f}\\x{c0}\\x{30f}\\x{660}\\x{66c}\\x{f01}\\x{1680}<"],
Just [" 0: \\x{0a}p\\x{300}9!$ <"],
Nothing,
Nothing,
Just ["/^\\PC/8"],
Just [" 0: X"],
Just [" 0: *"],
Nothing,
Just ["/^\\PL/8"],
Just [" 0: 9"],
Just [" 0: *"],
Nothing,
Just ["/^\\PM/8"],
Just [" 0: X"],
Just [" 0: *"],
Nothing,
Just ["/^\\PN/8"],
Just [" 0: X"],
Just [" 0: *"],
Nothing,
Just ["/^\\PP/8"],
Just [" 0: X"],
Nothing,
Nothing,
Just ["/^\\PS/8"],
Just [" 0: X"],
Just [" 0: *"],
Nothing,
Just ["/^\\PZ/8"],
Just [" 0: X"],
Just [" 0: *"],
Nothing,
Just ["/^\\p{Cc}/8"],
Just [" 0: \\x{17}"],
Just [" 0: \\x{9f}"],
Nothing,
Nothing,
Just ["/^\\p{Cf}/8"],
Just [" 0: \\x{601}"],
Nothing,
Nothing,
Just ["/^\\p{Cn}/8"],
Nothing,
Nothing,
Just ["/^\\p{Co}/8"],
Just [" 0: \\x{f8ff}"],
Nothing,
Nothing,
Just ["/^\\p{Cs}/8"],
Just [" 0: \\x{dfff}"],
Nothing,
Nothing,
Just ["/^\\p{Ll}/8"],
Just [" 0: a"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Lm}/8"],
Just [" 0: \\x{2b0}"],
Nothing,
Nothing,
Just ["/^\\p{Lo}/8"],
Just [" 0: \\x{1bb}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Lt}/8"],
Just [" 0: \\x{1c5}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Lu}/8"],
Just [" 0: A"],
Nothing,
Nothing,
Just ["/^\\p{Mc}/8"],
Just [" 0: \\x{903}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Me}/8"],
Just [" 0: \\x{488}"],
Nothing,
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Mn}/8"],
Just [" 0: \\x{300}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Nd}+/8"],
Just [" 0: 0123456789\\x{660}\\x{661}\\x{662}\\x{663}\\x{664}\\x{665}\\x{666}\\x{667}\\x{668}\\x{669}"],
Just [" 1: 0123456789\\x{660}\\x{661}\\x{662}\\x{663}\\x{664}\\x{665}\\x{666}\\x{667}\\x{668}"],
Just [" 2: 0123456789\\x{660}\\x{661}\\x{662}\\x{663}\\x{664}\\x{665}\\x{666}\\x{667}"],
Just [" 3: 0123456789\\x{660}\\x{661}\\x{662}\\x{663}\\x{664}\\x{665}\\x{666}"],
Just [" 4: 0123456789\\x{660}\\x{661}\\x{662}\\x{663}\\x{664}\\x{665}"],
Just [" 5: 0123456789\\x{660}\\x{661}\\x{662}\\x{663}\\x{664}"],
Just [" 6: 0123456789\\x{660}\\x{661}\\x{662}\\x{663}"],
Just [" 7: 0123456789\\x{660}\\x{661}\\x{662}"],
Just [" 8: 0123456789\\x{660}\\x{661}"],
Just [" 9: 0123456789\\x{660}"],
Just ["10: 0123456789"],
Just ["11: 012345678"],
Just ["12: 01234567"],
Just ["13: 0123456"],
Just ["14: 012345"],
Just ["15: 01234"],
Just ["16: 0123"],
Just ["17: 012"],
Just ["18: 01"],
Just ["19: 0"],
Just [" 0: \\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}\\x{6f4}\\x{6f5}\\x{6f6}\\x{6f7}\\x{6f8}\\x{6f9}"],
Just [" 1: \\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}\\x{6f4}\\x{6f5}\\x{6f6}\\x{6f7}\\x{6f8}"],
Just [" 2: \\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}\\x{6f4}\\x{6f5}\\x{6f6}\\x{6f7}"],
Just [" 3: \\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}\\x{6f4}\\x{6f5}\\x{6f6}"],
Just [" 4: \\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}\\x{6f4}\\x{6f5}"],
Just [" 5: \\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}\\x{6f4}"],
Just [" 6: \\x{6f0}\\x{6f1}\\x{6f2}\\x{6f3}"],
Just [" 7: \\x{6f0}\\x{6f1}\\x{6f2}"],
Just [" 8: \\x{6f0}\\x{6f1}"],
Just [" 9: \\x{6f0}"],
Just [" 0: \\x{966}\\x{967}\\x{968}\\x{969}\\x{96a}\\x{96b}\\x{96c}\\x{96d}\\x{96e}\\x{96f}"],
Just [" 1: \\x{966}\\x{967}\\x{968}\\x{969}\\x{96a}\\x{96b}\\x{96c}\\x{96d}\\x{96e}"],
Just [" 2: \\x{966}\\x{967}\\x{968}\\x{969}\\x{96a}\\x{96b}\\x{96c}\\x{96d}"],
Just [" 3: \\x{966}\\x{967}\\x{968}\\x{969}\\x{96a}\\x{96b}\\x{96c}"],
Just [" 4: \\x{966}\\x{967}\\x{968}\\x{969}\\x{96a}\\x{96b}"],
Just [" 5: \\x{966}\\x{967}\\x{968}\\x{969}\\x{96a}"],
Just [" 6: \\x{966}\\x{967}\\x{968}\\x{969}"],
Just [" 7: \\x{966}\\x{967}\\x{968}"],
Just [" 8: \\x{966}\\x{967}"],
Just [" 9: \\x{966}"],
Nothing,
Nothing,
Just ["/^\\p{Nl}/8"],
Just [" 0: \\x{16ee}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{No}/8"],
Just [" 0: \\x{b2}"],
Just [" 0: \\x{b3}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Pc}/8"],
Just [" 0: _"],
Just [" 0: \\x{203f}"],
Nothing,
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Pd}/8"],
Just [" 0: -"],
Just [" 0: \\x{58a}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Pe}/8"],
Just [" 0: )"],
Just [" 0: ]"],
Just [" 0: }"],
Just [" 0: \\x{f3b}"],
Nothing,
Nothing,
Nothing,
Nothing,
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Pf}/8"],
Just [" 0: \\x{bb}"],
Just [" 0: \\x{2019}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Pi}/8"],
Just [" 0: \\x{ab}"],
Just [" 0: \\x{2018}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Po}/8"],
Just [" 0: !"],
Just [" 0: \\x{37e}"],
Just [" 0: *"],
Nothing,
Nothing,
Just ["/^\\p{Ps}/8"],
Just [" 0: ("],
Just [" 0: ["],
Just [" 0: {"],
Just [" 0: \\x{f3c}"],
Nothing,
Nothing,
Nothing,
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Sc}+/8"],
Just [" 0: $\\x{a2}\\x{a3}\\x{a4}\\x{a5}"],
Just [" 1: $\\x{a2}\\x{a3}\\x{a4}"],
Just [" 2: $\\x{a2}\\x{a3}"],
Just [" 3: $\\x{a2}"],
Just [" 4: $"],
Just [" 0: \\x{9f2}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Sk}/8"],
Just [" 0: \\x{2c2}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Sm}+/8"],
Just [" 0: +<|~\\x{ac}\\x{2044}"],
Just [" 1: +<|~\\x{ac}"],
Just [" 2: +<|~"],
Just [" 3: +<|"],
Just [" 4: +<"],
Just [" 5: +"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{So}/8"],
Just [" 0: \\x{a6}"],
Just [" 0: \\x{482}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Zl}/8"],
Just [" 0: \\x{2028}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Zp}/8"],
Just [" 0: \\x{2029}"],
Nothing,
Nothing,
Nothing,
Just ["/^\\p{Zs}/8"],
Just [" 0: "],
Just [" 0: \\x{a0}"],
Just [" 0: \\x{1680}"],
Just [" 0: \\x{180e}"],
Just [" 0: \\x{2000}"],
Just [" 0: \\x{2001}"],
Nothing,
Nothing,
Nothing,
Just ["/\\p{Nd}+(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just [" 2: \\x{660}\\x{661}\\x{662}"],
Just ["/\\p{Nd}+?(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just [" 2: \\x{660}\\x{661}\\x{662}"],
Just ["/\\p{Nd}{2,}(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just ["/\\p{Nd}{2,}?(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just ["/\\p{Nd}*(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just [" 2: \\x{660}\\x{661}\\x{662}"],
Just [" 3: \\x{660}\\x{661}"],
Just ["/\\p{Nd}*?(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just [" 2: \\x{660}\\x{661}\\x{662}"],
Just [" 3: \\x{660}\\x{661}"],
Just ["/\\p{Nd}{2}(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}A"],
Just ["/\\p{Nd}{2,3}(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just ["/\\p{Nd}{2,3}?(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just [" 1: \\x{660}\\x{661}\\x{662}A"],
Just ["/\\p{Nd}?(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}"],
Just [" 1: \\x{660}\\x{661}"],
Just ["/\\p{Nd}??(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}"],
Just [" 1: \\x{660}\\x{661}"],
Just ["/\\p{Nd}*+(..)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}AB"],
Just ["/\\p{Nd}*+(...)/8"],
Just [" 0: \\x{660}\\x{661}\\x{662}ABC"],
Just ["/\\p{Nd}*+(....)/8"],
Just [" 0: ** F"],
Nothing,
Just ["/\\p{Lu}/8i"],
Just [" 0: A"],
Just [" 0: \\x{10a0}"],
Just [" 0: F"],
Nothing,
Nothing]
,
testRegex "\\p{^Lu}" [caseless]
["1234",
"** Failers",
"ABC "]
[Just [" 0: 1"],
Just [" 0: *"],
Nothing]
,
testRegex "\\P{Lu}" [caseless]
["1234",
"** Failers",
"ABC "]
[Just [" 0: 1"],
Just [" 0: *"],
Nothing]
,
testRegex "(?<=A\\p{Nd})XYZ" [ERROR]
["A2XYZ",
"123A5XYZPQR",
"ABA\\x{660}XYZpqr",
"** Failers",
"AXYZ",
"XYZ ",
"",
"/(?<!\\pL)XYZ/8",
"1XYZ",
"AB=XYZ.. ",
"XYZ ",
"** Failers",
"WXYZ "]
[Just [" 0: XYZ"],
Just [" 0: XYZ"],
Just [" 0: XYZ"],
Nothing,
Nothing,
Nothing,
Just ["/(?<!\\pL)XYZ/8"],
Just [" 0: XYZ"],
Just [" 0: XYZ"],
Just [" 0: XYZ"],
Nothing,
Nothing]
,
testRegex "[\\p{Nd}]" [ERROR]
["1234"]
[Just [" 0: 1"]]
,
testRegex "[\\p{Nd}+-]+" [ERROR]
["1234",
"12-34",
"12+\\x{661}-34 ",
"** Failers",
"abcd "]
[Just [" 0: 1234"],
Just [" 1: 123"],
Just [" 2: 12"],
Just [" 3: 1"],
Just [" 0: 12-34"],
Just [" 1: 12-3"],
Just [" 2: 12-"],
Just [" 3: 12"],
Just [" 4: 1"],
Just [" 0: 12+\\x{661}-34"],
Just [" 1: 12+\\x{661}-3"],
Just [" 2: 12+\\x{661}-"],
Just [" 3: 12+\\x{661}"],
Just [" 4: 12+"],
Just [" 5: 12"],
Just [" 6: 1"],
Nothing,
Nothing]
,
testRegex "[\\P{Nd}]+" [ERROR]
["abcd",
"** Failers",
"1234"]
[Just [" 0: abcd"],
Just [" 1: abc"],
Just [" 2: ab"],
Just [" 3: a"],
Just [" 0: ** Failers"],
Just [" 1: ** Failer"],
Just [" 2: ** Faile"],
Just [" 3: ** Fail"],
Just [" 4: ** Fai"],
Just [" 5: ** Fa"],
Just [" 6: ** F"],
Just [" 7: ** "],
Just [" 8: **"],
Just [" 9: *"],
Nothing]
,
testRegex "\\D+" [ERROR]
["11111111111111111111111111111111111111111111111111111111111111111111111",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"",
"/\\P{Nd}+/8",
"11111111111111111111111111111111111111111111111111111111111111111111111",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]
[Nothing,
Just ["Matched, but too many subsidiary matches"],
Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["/\\P{Nd}+/8"],
Nothing,
Just ["Matched, but too many subsidiary matches"],
Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]
,
testRegex "[\\D]+" [ERROR]
["11111111111111111111111111111111111111111111111111111111111111111111111",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]
[Nothing,
Just ["Matched, but too many subsidiary matches"],
Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]
,
testRegex "[\\P{Nd}]+" [ERROR]
["11111111111111111111111111111111111111111111111111111111111111111111111",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]
[Nothing,
Just ["Matched, but too many subsidiary matches"],
Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]
,
testRegex "[\\D\\P{Nd}]+" [ERROR]
["11111111111111111111111111111111111111111111111111111111111111111111111",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]
[Nothing,
Just ["Matched, but too many subsidiary matches"],
Just [" 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just [" 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
Just ["21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]
,
testRegex "\\pL" [ERROR]
["a",
"A "]
[Just [" 0: a"],
Just [" 0: A"]]
,
testRegex "\\pL" [caseless]
["a",
"A ",
"",
"/\\p{Lu}/8 ",
"A",
"aZ",
"** Failers",
"abc "]
[Just [" 0: a"],
Just [" 0: A"],
Just ["/\\p{Lu}/8 "],
Just [" 0: A"],
Just [" 0: Z"],
Just [" 0: F"],
Nothing]
,
testRegex "\\p{Lu}" [caseless]
["A",
"aZ",
"** Failers",
"abc "]
[Just [" 0: A"],
Just [" 0: Z"],
Just [" 0: F"],
Nothing]
,
testRegex "\\p{Ll}" [ERROR]
["a",
"Az",
"** Failers",
"ABC "]
[Just [" 0: a"],
Just [" 0: z"],
Just [" 0: a"],
Nothing]
,
testRegex "\\p{Ll}" [ERROR]
["a",
"Az",
"** Failers",
"ABC "]
[Just [" 0: a"],
Just [" 0: z"],
Just [" 0: a"],
Nothing]
,
testRegex "^\\x{c0}$" [caseless]
["\\x{c0}",
"\\x{e0} "]
[Just [" 0: \\x{c0}"],
Just [" 0: \\x{e0}"]]
,
testRegex "^\\x{e0}$" [caseless]
["\\x{c0}",
"\\x{e0} "]
[Just [" 0: \\x{c0}"],
Just [" 0: \\x{e0}"]]
,
testRegex "A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0}" [ERROR]
["A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0}",
"** Failers",
"a\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0} ",
"A\\x{3b1}\\x{10427}\\x{ff3a}\\x{1fb0}",
"A\\x{391}\\x{1044F}\\x{ff3a}\\x{1fb0}",
"A\\x{391}\\x{10427}\\x{ff5a}\\x{1fb0}",
"A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb8}"]
[Just [" 0: A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0}"],
Nothing,
Nothing,
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0}" [caseless]
["A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0}",
"a\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0} ",
"A\\x{3b1}\\x{10427}\\x{ff3a}\\x{1fb0}",
"A\\x{391}\\x{1044F}\\x{ff3a}\\x{1fb0}",
"A\\x{391}\\x{10427}\\x{ff5a}\\x{1fb0}",
"A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb8}"]
[Just [" 0: A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0}"],
Just [" 0: a\\x{391}\\x{10427}\\x{ff3a}\\x{1fb0}"],
Just [" 0: A\\x{3b1}\\x{10427}\\x{ff3a}\\x{1fb0}"],
Just [" 0: A\\x{391}\\x{1044f}\\x{ff3a}\\x{1fb0}"],
Just [" 0: A\\x{391}\\x{10427}\\x{ff5a}\\x{1fb0}"],
Just [" 0: A\\x{391}\\x{10427}\\x{ff3a}\\x{1fb8}"]]
,
testRegex "\\x{391}+" [caseless]
["\\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}"]
[Just [" 0: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}"],
Just [" 1: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}"],
Just [" 2: \\x{391}\\x{3b1}\\x{3b1}"],
Just [" 3: \\x{391}\\x{3b1}"],
Just [" 4: \\x{391}"]]
,
testRegex "\\x{391}{3,5}(.)" [caseless]
["\\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}X"]
[Just [" 0: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}X"],
Just [" 1: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}"],
Just [" 2: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}"]]
,
testRegex "\\x{391}{3,5}?(.)" [caseless]
["\\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}X"]
[Just [" 0: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}X"],
Just [" 1: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}\\x{391}"],
Just [" 2: \\x{391}\\x{3b1}\\x{3b1}\\x{3b1}"]]
,
testRegex "[\\x{391}\\x{ff3a}]" [caseless]
["\\x{391}",
"\\x{ff3a}",
"\\x{3b1}",
"\\x{ff5a} ",
"",
"/[\\x{c0}\\x{391}]/8i",
"\\x{c0}",
"\\x{e0} "]
[Just [" 0: \\x{391}"],
Just [" 0: \\x{ff3a}"],
Just [" 0: \\x{3b1}"],
Just [" 0: \\x{ff5a}"],
Just ["/[\\x{c0}\\x{391}]/8i"],
Just [" 0: \\x{c0}"],
Just [" 0: \\x{e0}"]]
,
testRegex "[\\x{105}-\\x{109}]" [caseless]
["\\x{104}",
"\\x{105}",
"\\x{109} ",
"** Failers",
"\\x{100}",
"\\x{10a} ",
"",
"/[z-\\x{100}]/8i ",
"Z",
"z",
"\\x{39c}",
"\\x{178}",
"|",
"\\x{80}",
"\\x{ff}",
"\\x{100}",
"\\x{101} ",
"** Failers",
"\\x{102}",
"Y",
"y "]
[Just [" 0: \\x{104}"],
Just [" 0: \\x{105}"],
Just [" 0: \\x{109}"],
Nothing,
Nothing,
Nothing,
Just ["/[z-\\x{100}]/8i "],
Just [" 0: Z"],
Just [" 0: z"],
Just [" 0: \\x{39c}"],
Just [" 0: \\x{178}"],
Just [" 0: |"],
Just [" 0: \\x{80}"],
Just [" 0: \\x{ff}"],
Just [" 0: \\x{100}"],
Just [" 0: \\x{101}"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "[z-\\x{100}]" [caseless]
[]
[]
,
testRegex "^\\X" [ERROR]
["A",
"A\\x{300}BC ",
"A\\x{300}\\x{301}\\x{302}BC ",
"*** Failers",
"\\x{300} "]
[Just [" 0: A"],
Just [" 0: A\\x{300}"],
Just [" 0: A\\x{300}\\x{301}\\x{302}"],
Just [" 0: *"],
Nothing]
,
testRegex "^[\\X]" [ERROR]
["X123",
"*** Failers",
"AXYZ"]
[Just [" 0: X"],
Nothing,
Nothing]
,
testRegex "^(\\X*)C" [ERROR]
["A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301} ",
"A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C "]
[Just [" 0: A\\x{300}\\x{301}\\x{302}BC"],
Just [" 0: A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C"],
Just [" 1: A\\x{300}\\x{301}\\x{302}BC"]]
,
testRegex "^(\\X*?)C" [ERROR]
["A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301} ",
"A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C "]
[Just [" 0: A\\x{300}\\x{301}\\x{302}BC"],
Just [" 0: A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C"],
Just [" 1: A\\x{300}\\x{301}\\x{302}BC"]]
,
testRegex "^(\\X*)(.)" [ERROR]
["A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301} ",
"A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C "]
[Just [" 0: A\\x{300}\\x{301}\\x{302}BCA"],
Just [" 1: A\\x{300}\\x{301}\\x{302}BC"],
Just [" 2: A\\x{300}\\x{301}\\x{302}B"],
Just [" 3: A"],
Just [" 0: A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C"],
Just [" 1: A\\x{300}\\x{301}\\x{302}BCA"],
Just [" 2: A\\x{300}\\x{301}\\x{302}BC"],
Just [" 3: A\\x{300}\\x{301}\\x{302}B"],
Just [" 4: A"]]
,
testRegex "^(\\X*?)(.)" [ERROR]
["A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301} ",
"A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C "]
[Just [" 0: A\\x{300}\\x{301}\\x{302}BCA"],
Just [" 1: A\\x{300}\\x{301}\\x{302}BC"],
Just [" 2: A\\x{300}\\x{301}\\x{302}B"],
Just [" 3: A"],
Just [" 0: A\\x{300}\\x{301}\\x{302}BCA\\x{300}\\x{301}C"],
Just [" 1: A\\x{300}\\x{301}\\x{302}BCA"],
Just [" 2: A\\x{300}\\x{301}\\x{302}BC"],
Just [" 3: A\\x{300}\\x{301}\\x{302}B"],
Just [" 4: A"]]
,
testRegex "^\\X(.)" [ERROR]
["*** Failers",
"A\\x{300}\\x{301}\\x{302}"]
[Just [" 0: **"],
Nothing]
,
testRegex "^\\X{2,3}(.)" [ERROR]
["A\\x{300}\\x{301}B\\x{300}X",
"A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}",
"A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}X",
"A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}DA\\x{300}X",
"",
"/^\\X{2,3}?(.)/8",
"A\\x{300}\\x{301}B\\x{300}X",
"A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}",
"A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}X",
"A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}DA\\x{300}X"]
[Just [" 0: A\\x{300}\\x{301}B\\x{300}X"],
Just [" 0: A\\x{300}\\x{301}B\\x{300}C"],
Just [" 0: A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}X"],
Just [" 1: A\\x{300}\\x{301}B\\x{300}C"],
Just [" 0: A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}D"],
Just [" 1: A\\x{300}\\x{301}B\\x{300}C"],
Just ["/^\\X{2,3}?(.)/8"],
Just [" 0: A\\x{300}\\x{301}B\\x{300}X"],
Just [" 0: A\\x{300}\\x{301}B\\x{300}C"],
Just [" 0: A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}X"],
Just [" 1: A\\x{300}\\x{301}B\\x{300}C"],
Just [" 0: A\\x{300}\\x{301}B\\x{300}C\\x{300}\\x{301}D"],
Just [" 1: A\\x{300}\\x{301}B\\x{300}C"]]
,
testRegex "^\\pN{2,3}X" []
["12X",
"123X",
"*** Failers",
"X",
"1X",
"1234X "]
[Just [" 0: 12X"],
Just [" 0: 123X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "\\x{100}" [ERROR]
["\\x{100} ",
"\\x{101} ",
"",
"/^\\p{Han}+/8",
"\\x{2e81}\\x{3007}\\x{2f804}\\x{31a0}",
"** Failers",
"\\x{2e7f} "]
[Just [" 0: \\x{100}"],
Just [" 0: \\x{101}"],
Just ["/^\\p{Han}+/8"],
Just [" 0: \\x{2e81}\\x{3007}\\x{2f804}"],
Just [" 1: \\x{2e81}\\x{3007}"],
Just [" 2: \\x{2e81}"],
Nothing,
Nothing]
,
testRegex "^\\P{Katakana}+" [ERROR]
["\\x{3105}",
"** Failers",
"\\x{30ff} "]
[Just [" 0: \\x{3105}"],
Just [" 0: ** Failers"],
Just [" 1: ** Failer"],
Just [" 2: ** Faile"],
Just [" 3: ** Fail"],
Just [" 4: ** Fai"],
Just [" 5: ** Fa"],
Just [" 6: ** F"],
Just [" 7: ** "],
Just [" 8: **"],
Just [" 9: *"],
Nothing]
,
testRegex "^[\\p{Arabic}]" [ERROR]
["\\x{06e9}",
"\\x{060b}",
"** Failers",
"X\\x{06e9} "]
[Just [" 0: \\x{6e9}"],
Just [" 0: \\x{60b}"],
Nothing,
Nothing]
,
testRegex "^[\\P{Yi}]" [ERROR]
["\\x{2f800}",
"** Failers",
"\\x{a014}",
"\\x{a4c6} "]
[Just [" 0: \\x{2f800}"],
Just [" 0: *"],
Nothing,
Nothing]
,
testRegex "^\\p{Any}X" [ERROR]
["AXYZ",
"\\x{1234}XYZ ",
"** Failers",
"X ",
"",
"/^\\P{Any}X/8",
"** Failers",
"AX",
"",
"/^\\p{Any}?X/8",
"XYZ",
"AXYZ",
"\\x{1234}XYZ ",
"** Failers",
"ABXYZ "]
[Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Nothing,
Nothing,
Just ["/^\\P{Any}X/8"],
Nothing,
Nothing,
Just ["/^\\p{Any}?X/8"],
Just [" 0: X"],
Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Nothing,
Nothing]
,
testRegex "^\\P{Any}?X" [ERROR]
["XYZ",
"** Failers",
"AXYZ",
"\\x{1234}XYZ ",
"ABXYZ "]
[Just [" 0: X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^\\p{Any}+X" [ERROR]
["AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ",
"** Failers",
"XYZ"]
[Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Just [" 0: A\\x{1234}X"],
Nothing,
Nothing]
,
testRegex "^\\P{Any}+X" [ERROR]
["** Failers",
"AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ",
"XYZ"]
[Nothing,
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^\\p{Any}*X" [ERROR]
["XYZ",
"AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ",
"** Failers"]
[Just [" 0: X"],
Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Just [" 0: A\\x{1234}X"],
Nothing]
,
testRegex "^\\P{Any}*X" [ERROR]
["XYZ",
"** Failers",
"AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ"]
[Just [" 0: X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^[\\p{Any}]X" [ERROR]
["AXYZ",
"\\x{1234}XYZ ",
"** Failers",
"X ",
"",
"/^[\\P{Any}]X/8",
"** Failers",
"AX",
"",
"/^[\\p{Any}]?X/8",
"XYZ",
"AXYZ",
"\\x{1234}XYZ ",
"** Failers",
"ABXYZ "]
[Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Nothing,
Nothing,
Just ["/^[\\P{Any}]X/8"],
Nothing,
Nothing,
Just ["/^[\\p{Any}]?X/8"],
Just [" 0: X"],
Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Nothing,
Nothing]
,
testRegex "^[\\P{Any}]?X" [ERROR]
["XYZ",
"** Failers",
"AXYZ",
"\\x{1234}XYZ ",
"ABXYZ "]
[Just [" 0: X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^[\\p{Any}]+X" [ERROR]
["AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ",
"** Failers",
"XYZ"]
[Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Just [" 0: A\\x{1234}X"],
Nothing,
Nothing]
,
testRegex "^[\\P{Any}]+X" [ERROR]
["** Failers",
"AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ",
"XYZ"]
[Nothing,
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^[\\p{Any}]*X" [ERROR]
["XYZ",
"AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ",
"** Failers"]
[Just [" 0: X"],
Just [" 0: AX"],
Just [" 0: \\x{1234}X"],
Just [" 0: A\\x{1234}X"],
Nothing]
,
testRegex "^[\\P{Any}]*X" [ERROR]
["XYZ",
"** Failers",
"AXYZ",
"\\x{1234}XYZ",
"A\\x{1234}XYZ"]
[Just [" 0: X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^\\p{Any}{3,5}?" [ERROR]
["abcdefgh",
"\\x{1234}\\n\\r\\x{3456}xyz "]
[Just [" 0: abcde"],
Just [" 1: abcd"],
Just [" 2: abc"],
Just [" 0: \\x{1234}\\x{0a}\\x{0d}\\x{3456}x"],
Just [" 1: \\x{1234}\\x{0a}\\x{0d}\\x{3456}"],
Just [" 2: \\x{1234}\\x{0a}\\x{0d}"]]
,
testRegex "^\\p{Any}{3,5}" [ERROR]
["abcdefgh",
"\\x{1234}\\n\\r\\x{3456}xyz "]
[Just [" 0: abcde"],
Just [" 1: abcd"],
Just [" 2: abc"],
Just [" 0: \\x{1234}\\x{0a}\\x{0d}\\x{3456}x"],
Just [" 1: \\x{1234}\\x{0a}\\x{0d}\\x{3456}"],
Just [" 2: \\x{1234}\\x{0a}\\x{0d}"]]
,
testRegex "^\\P{Any}{3,5}?" [ERROR]
["** Failers",
"abcdefgh",
"\\x{1234}\\n\\r\\x{3456}xyz "]
[Nothing,
Nothing,
Nothing]
,
testRegex "^\\p{L&}X" [ERROR]
["AXY",
"aXY",
"\\x{1c5}XY",
"** Failers",
"\\x{1bb}XY",
"\\x{2b0}XY",
"!XY "]
[Just [" 0: AX"],
Just [" 0: aX"],
Just [" 0: \\x{1c5}X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^[\\p{L&}]X" [ERROR]
["AXY",
"aXY",
"\\x{1c5}XY",
"** Failers",
"\\x{1bb}XY",
"\\x{2b0}XY",
"!XY "]
[Just [" 0: AX"],
Just [" 0: aX"],
Just [" 0: \\x{1c5}X"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^\\p{L&}+X" [ERROR]
["AXY",
"aXY",
"AbcdeXyz ",
"\\x{1c5}AbXY",
"abcDEXypqreXlmn ",
"** Failers",
"\\x{1bb}XY",
"\\x{2b0}XY",
"!XY "]
[Just [" 0: AX"],
Just [" 0: aX"],
Just [" 0: AbcdeX"],
Just [" 0: \\x{1c5}AbX"],
Just [" 0: abcDEXypqreX"],
Just [" 1: abcDEX"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^[\\p{L&}]+X" [ERROR]
["AXY",
"aXY",
"AbcdeXyz ",
"\\x{1c5}AbXY",
"abcDEXypqreXlmn ",
"** Failers",
"\\x{1bb}XY",
"\\x{2b0}XY",
"!XY "]
[Just [" 0: AX"],
Just [" 0: aX"],
Just [" 0: AbcdeX"],
Just [" 0: \\x{1c5}AbX"],
Just [" 0: abcDEXypqreX"],
Just [" 1: abcDEX"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^\\p{L&}+?X" [ERROR]
["AXY",
"aXY",
"AbcdeXyz ",
"\\x{1c5}AbXY",
"abcDEXypqreXlmn ",
"** Failers",
"\\x{1bb}XY",
"\\x{2b0}XY",
"!XY "]
[Just [" 0: AX"],
Just [" 0: aX"],
Just [" 0: AbcdeX"],
Just [" 0: \\x{1c5}AbX"],
Just [" 0: abcDEXypqreX"],
Just [" 1: abcDEX"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^[\\p{L&}]+?X" [ERROR]
["AXY",
"aXY",
"AbcdeXyz ",
"\\x{1c5}AbXY",
"abcDEXypqreXlmn ",
"** Failers",
"\\x{1bb}XY",
"\\x{2b0}XY",
"!XY "]
[Just [" 0: AX"],
Just [" 0: aX"],
Just [" 0: AbcdeX"],
Just [" 0: \\x{1c5}AbX"],
Just [" 0: abcDEXypqreX"],
Just [" 1: abcDEX"],
Nothing,
Nothing,
Nothing,
Nothing]
,
testRegex "^\\P{L&}X" [ERROR]
["!XY",
"\\x{1bb}XY",
"\\x{2b0}XY",
"** Failers",
"\\x{1c5}XY",
"AXY "]
[Just [" 0: !X"],
Just [" 0: \\x{1bb}X"],
Just [" 0: \\x{2b0}X"],
Nothing,
Nothing,
Nothing]
,
testRegex "^[\\P{L&}]X" [ERROR]
["!XY",
"\\x{1bb}XY",
"\\x{2b0}XY",
"** Failers",
"\\x{1c5}XY",
"AXY "]
[Just [" 0: !X"],
Just [" 0: \\x{1bb}X"],
Just [" 0: \\x{2b0}X"],
Nothing,
Nothing,
Nothing]
,
testRegex "^\\x{023a}+?(\\x{0130}+)" [caseless]
["\\x{023a}\\x{2c65}\\x{0130}",
"",
"/^\\x{023a}+([^X])/8i",
"\\x{023a}\\x{2c65}X",
"",
"/Check property support in non-UTF-8 mode/",
"",
"/\\p{L}{4}/",
"123abcdefg",
"123abc\\xc4\\xc5zz"]
[Just [" 0: \\x{23a}\\x{2c65}\\x{130}"],
Just ["/^\\x{023a}+([^X])/8i"],
Just [" 0: \\x{23a}\\x{2c65}"],
Just ["/Check property support in non-UTF-8 mode/"],
Just ["/\\p{L}{4}/"],
Just [" 0: abcd"],
Just [" 0: abc\\xc4"]]
,
testRegex " End " [ERROR]
[]
[]