Added ENotifyKeypresses and ECaptureCtrlC flags to CCommandBase.
Commands can now get keypresses and handle ctrl-C via callbacks instead of having to implement custom active objects. As part of this extended the CCommandBase extension interface to MCommandExtensionsV2 for the new virtual functions KeyPressed(TUint aKeyCode, TUint aModifiers) and CtrlCPressed(). sudo now cleans up correctly by using ECaptureCtrlC.
/^\pC\pL\pM\pN\pP\pS\pZ</8
\x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
\np\x{300}9!\$ <
0: \x{0a}p\x{300}9!$ <
** Failers
No match
ap\x{300}9!\$ <
No match
/^\PC/8
X
0: X
** Failers
0: *
\x7f
No match
/^\PL/8
9
0: 9
** Failers
0: *
\x{c0}
No match
/^\PM/8
X
0: X
** Failers
0: *
\x{30f}
No match
/^\PN/8
X
0: X
** Failers
0: *
\x{660}
No match
/^\PP/8
X
0: X
** Failers
No match
\x{66c}
No match
/^\PS/8
X
0: X
** Failers
0: *
\x{f01}
No match
/^\PZ/8
X
0: X
** Failers
0: *
\x{1680}
No match
/^\p{Cc}/8
\x{017}
0: \x{17}
\x{09f}
0: \x{9f}
** Failers
No match
\x{0600}
No match
/^\p{Cf}/8
\x{601}
0: \x{601}
** Failers
No match
\x{09f}
No match
/^\p{Cn}/8
\x{e0000}
0: \x{e0000}
** Failers
No match
\x{09f}
No match
/^\p{Co}/8
\x{f8ff}
0: \x{f8ff}
** Failers
No match
\x{09f}
No match
/^\p{Cs}/8
\?\x{dfff}
0: \x{dfff}
** Failers
No match
\x{09f}
No match
/^\p{Ll}/8
a
0: a
** Failers
No match
Z
No match
\x{e000}
No match
/^\p{Lm}/8
\x{2b0}
0: \x{2b0}
** Failers
No match
a
No match
/^\p{Lo}/8
\x{1bb}
0: \x{1bb}
\x{3400}
0: \x{3400}
\x{3401}
0: \x{3401}
\x{4d00}
0: \x{4d00}
\x{4db4}
0: \x{4db4}
\x{4db5}
0: \x{4db5}
** Failers
No match
a
No match
\x{2b0}
No match
\x{4db6}
No match
/^\p{Lt}/8
\x{1c5}
0: \x{1c5}
** Failers
No match
a
No match
\x{2b0}
No match
/^\p{Lu}/8
A
0: A
** Failers
No match
\x{2b0}
No match
/^\p{Mc}/8
\x{903}
0: \x{903}
** Failers
No match
X
No match
\x{300}
No match
/^\p{Me}/8
\x{488}
0: \x{488}
** Failers
No match
X
No match
\x{903}
No match
\x{300}
No match
/^\p{Mn}/8
\x{300}
0: \x{300}
** Failers
No match
X
No match
\x{903}
No match
/^\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}
0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}
\x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}
\x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}
** Failers
No match
X
No match
/^\p{Nl}/8
\x{16ee}
0: \x{16ee}
** Failers
No match
X
No match
\x{966}
No match
/^\p{No}/8
\x{b2}
0: \x{b2}
\x{b3}
0: \x{b3}
** Failers
No match
X
No match
\x{16ee}
No match
/^\p{Pc}/8
\x5f
0: _
\x{203f}
0: \x{203f}
** Failers
No match
X
No match
-
No match
\x{58a}
No match
/^\p{Pd}/8
-
0: -
\x{58a}
0: \x{58a}
** Failers
No match
X
No match
\x{203f}
No match
/^\p{Pe}/8
)
0: )
]
0: ]
}
0: }
\x{f3b}
0: \x{f3b}
** Failers
No match
X
No match
\x{203f}
No match
(
No match
[
No match
{
No match
\x{f3c}
No match
/^\p{Pf}/8
\x{bb}
0: \x{bb}
\x{2019}
0: \x{2019}
** Failers
No match
X
No match
\x{203f}
No match
/^\p{Pi}/8
\x{ab}
0: \x{ab}
\x{2018}
0: \x{2018}
** Failers
No match
X
No match
\x{203f}
No match
/^\p{Po}/8
!
0: !
\x{37e}
0: \x{37e}
** Failers
0: *
X
No match
\x{203f}
No match
/^\p{Ps}/8
(
0: (
[
0: [
{
0: {
\x{f3c}
0: \x{f3c}
** Failers
No match
X
No match
)
No match
]
No match
}
No match
\x{f3b}
No match
/^\p{Sc}+/8
$\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
0: $\x{a2}\x{a3}\x{a4}\x{a5}
\x{9f2}
0: \x{9f2}
** Failers
No match
X
No match
\x{2c2}
No match
/^\p{Sk}/8
\x{2c2}
0: \x{2c2}
** Failers
No match
X
No match
\x{9f2}
No match
/^\p{Sm}+/8
+<|~\x{ac}\x{2044}
0: +<|~\x{ac}\x{2044}
** Failers
No match
X
No match
\x{9f2}
No match
/^\p{So}/8
\x{a6}
0: \x{a6}
\x{482}
0: \x{482}
** Failers
No match
X
No match
\x{9f2}
No match
/^\p{Zl}/8
\x{2028}
0: \x{2028}
** Failers
No match
X
No match
\x{2029}
No match
/^\p{Zp}/8
\x{2029}
0: \x{2029}
** Failers
No match
X
No match
\x{2028}
No match
/^\p{Zs}/8
\ \
0:
\x{a0}
0: \x{a0}
\x{1680}
0: \x{1680}
\x{180e}
0: \x{180e}
\x{2000}
0: \x{2000}
\x{2001}
0: \x{2001}
** Failers
No match
\x{2028}
No match
\x{200d}
No match
/\p{Nd}+(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}AB
1: AB
/\p{Nd}+?(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}
1: \x{661}\x{662}
/\p{Nd}{2,}(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}AB
1: AB
/\p{Nd}{2,}?(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}A
1: \x{662}A
/\p{Nd}*(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}AB
1: AB
/\p{Nd}*?(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}
1: \x{660}\x{661}
/\p{Nd}{2}(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}A
1: \x{662}A
/\p{Nd}{2,3}(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}AB
1: AB
/\p{Nd}{2,3}?(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}A
1: \x{662}A
/\p{Nd}?(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}
1: \x{661}\x{662}
/\p{Nd}??(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}
1: \x{660}\x{661}
/\p{Nd}*+(..)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}AB
1: AB
/\p{Nd}*+(...)/8
\x{660}\x{661}\x{662}ABC
0: \x{660}\x{661}\x{662}ABC
1: ABC
/\p{Nd}*+(....)/8
** Failers
0: ** F
1: ** F
\x{660}\x{661}\x{662}ABC
No match
/\p{Lu}/8i
A
0: A
a\x{10a0}B
0: \x{10a0}
** Failers
0: F
a
No match
\x{1d00}
No match
/\p{^Lu}/8i
1234
0: 1
** Failers
0: *
ABC
No match
/\P{Lu}/8i
1234
0: 1
** Failers
0: *
ABC
No match
/(?<=A\p{Nd})XYZ/8
A2XYZ
0: XYZ
123A5XYZPQR
0: XYZ
ABA\x{660}XYZpqr
0: XYZ
** Failers
No match
AXYZ
No match
XYZ
No match
/(?<!\pL)XYZ/8
1XYZ
0: XYZ
AB=XYZ..
0: XYZ
XYZ
0: XYZ
** Failers
No match
WXYZ
No match
/[\p{L}]/DZ
------------------------------------------------------------------
Bra
[\p{L}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char
/[\p{^L}]/DZ
------------------------------------------------------------------
Bra
[\P{L}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char
/[\P{L}]/DZ
------------------------------------------------------------------
Bra
[\P{L}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char
/[\P{^L}]/DZ
------------------------------------------------------------------
Bra
[\p{L}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char
/[abc\p{L}\x{0660}]/8DZ
------------------------------------------------------------------
Bra
[a-c\p{L}\x{660}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
/[\p{Nd}]/8DZ
------------------------------------------------------------------
Bra
[\p{Nd}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
1234
0: 1
/[\p{Nd}+-]+/8DZ
------------------------------------------------------------------
Bra
[+\-\p{Nd}]+
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
No first char
No need char
1234
0: 1234
12-34
0: 12-34
12+\x{661}-34
0: 12+\x{661}-34
** Failers
No match
abcd
No match
/[\P{Nd}]+/8
abcd
0: abcd
** Failers
0: ** Failers
1234
No match
/\D+/8
11111111111111111111111111111111111111111111111111111111111111111111111
No match
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/\P{Nd}+/8
11111111111111111111111111111111111111111111111111111111111111111111111
No match
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/[\D]+/8
11111111111111111111111111111111111111111111111111111111111111111111111
No match
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/[\P{Nd}]+/8
11111111111111111111111111111111111111111111111111111111111111111111111
No match
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/[\D\P{Nd}]+/8
11111111111111111111111111111111111111111111111111111111111111111111111
No match
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/\pL/8
a
0: a
A
0: A
/\pL/8i
a
0: a
A
0: A
/\p{Lu}/8
A
0: A
aZ
0: Z
** Failers
0: F
abc
No match
/\p{Lu}/8i
A
0: A
aZ
0: Z
** Failers
0: F
abc
No match
/\p{Ll}/8
a
0: a
Az
0: z
** Failers
0: a
ABC
No match
/\p{Ll}/8i
a
0: a
Az
0: z
** Failers
0: a
ABC
No match
/^\x{c0}$/8i
\x{c0}
0: \x{c0}
\x{e0}
0: \x{e0}
/^\x{e0}$/8i
\x{c0}
0: \x{c0}
\x{e0}
0: \x{e0}
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
A\x{391}\x{10427}\x{ff3a}\x{1fb0}
0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
** Failers
No match
a\x{391}\x{10427}\x{ff3a}\x{1fb0}
No match
A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
No match
A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
No match
A\x{391}\x{10427}\x{ff5a}\x{1fb0}
No match
A\x{391}\x{10427}\x{ff3a}\x{1fb8}
No match
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
A\x{391}\x{10427}\x{ff3a}\x{1fb0}
0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
a\x{391}\x{10427}\x{ff3a}\x{1fb0}
0: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0}
A\x{391}\x{10427}\x{ff5a}\x{1fb0}
0: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
A\x{391}\x{10427}\x{ff3a}\x{1fb8}
0: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ
------------------------------------------------------------------
Bra
NC A\x{391}\x{10427}\x{ff3a}\x{1fb0}
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: caseless utf8
First char = 'A' (caseless)
No need char
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ
------------------------------------------------------------------
Bra
A\x{391}\x{10427}\x{ff3a}\x{1fb0}
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 'A'
Need char = 176
/AB\x{1fb0}/8DZ
------------------------------------------------------------------
Bra
AB\x{1fb0}
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 'A'
Need char = 176
/AB\x{1fb0}/8DZi
------------------------------------------------------------------
Bra
NC AB\x{1fb0}
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: caseless utf8
First char = 'A' (caseless)
Need char = 'B' (caseless)
/\x{391}+/8i
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
/\x{391}{3,5}(.)/8i
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1: X
/\x{391}{3,5}?(.)/8i
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
0: \x{391}\x{3b1}\x{3b1}\x{3b1}
1: \x{3b1}
/[\x{391}\x{ff3a}]/8i
\x{391}
0: \x{391}
\x{ff3a}
0: \x{ff3a}
\x{3b1}
0: \x{3b1}
\x{ff5a}
0: \x{ff5a}
/[\x{c0}\x{391}]/8i
\x{c0}
0: \x{c0}
\x{e0}
0: \x{e0}
/[\x{105}-\x{109}]/8iDZ
------------------------------------------------------------------
Bra
[\x{104}-\x{109}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: caseless utf8
No first char
No need char
\x{104}
0: \x{104}
\x{105}
0: \x{105}
\x{109}
0: \x{109}
** Failers
No match
\x{100}
No match
\x{10a}
No match
/[z-\x{100}]/8iDZ
------------------------------------------------------------------
Bra
[Z\x{39c}\x{178}z-\x{101}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: caseless utf8
No first char
No need char
Z
0: Z
z
0: z
\x{39c}
0: \x{39c}
\x{178}
0: \x{178}
|
0: |
\x{80}
0: \x{80}
\x{ff}
0: \x{ff}
\x{100}
0: \x{100}
\x{101}
0: \x{101}
** Failers
No match
\x{102}
No match
Y
No match
y
No match
/[z-\x{100}]/8DZi
------------------------------------------------------------------
Bra
[Z\x{39c}\x{178}z-\x{101}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: caseless utf8
No first char
No need char
/^\X/8
A
0: A
A\x{300}BC
0: A\x{300}
A\x{300}\x{301}\x{302}BC
0: A\x{300}\x{301}\x{302}
*** Failers
0: *
\x{300}
No match
/^[\X]/8
X123
0: X
*** Failers
No match
AXYZ
No match
/^(\X*)C/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
0: A\x{300}\x{301}\x{302}BC
1: A\x{300}\x{301}\x{302}B
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
/^(\X*?)C/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
0: A\x{300}\x{301}\x{302}BC
1: A\x{300}\x{301}\x{302}B
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
0: A\x{300}\x{301}\x{302}BC
1: A\x{300}\x{301}\x{302}B
/^(\X*)(.)/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
0: A\x{300}\x{301}\x{302}BCA
1: A\x{300}\x{301}\x{302}BC
2: A
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
2: C
/^(\X*?)(.)/8
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
0: A
1:
2: A
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
0: A
1:
2: A
/^\X(.)/8
*** Failers
0: **
1: *
A\x{300}\x{301}\x{302}
No match
/^\X{2,3}(.)/8
A\x{300}\x{301}B\x{300}X
0: A\x{300}\x{301}B\x{300}X
1: X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}
0: A\x{300}\x{301}B\x{300}C
1: C
A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1: X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
1: D
/^\X{2,3}?(.)/8
A\x{300}\x{301}B\x{300}X
0: A\x{300}\x{301}B\x{300}X
1: X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}
0: A\x{300}\x{301}B\x{300}C
1: C
A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
0: A\x{300}\x{301}B\x{300}C
1: C
A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
0: A\x{300}\x{301}B\x{300}C
1: C
/^\p{Han}+/8
\x{2e81}\x{3007}\x{2f804}\x{31a0}
0: \x{2e81}\x{3007}\x{2f804}
** Failers
No match
\x{2e7f}
No match
/^\P{Katakana}+/8
\x{3105}
0: \x{3105}
** Failers
0: ** Failers
\x{30ff}
No match
/^[\p{Arabic}]/8
\x{06e9}
0: \x{6e9}
\x{060b}
0: \x{60b}
** Failers
No match
X\x{06e9}
No match
/^[\P{Yi}]/8
\x{2f800}
0: \x{2f800}
** Failers
0: *
\x{a014}
No match
\x{a4c6}
No match
/^\p{Any}X/8
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
** Failers
No match
X
No match
/^\P{Any}X/8
** Failers
No match
AX
No match
/^\p{Any}?X/8
XYZ
0: X
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
** Failers
No match
ABXYZ
No match
/^\P{Any}?X/8
XYZ
0: X
** Failers
No match
AXYZ
No match
\x{1234}XYZ
No match
ABXYZ
No match
/^\p{Any}+X/8
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
A\x{1234}XYZ
0: A\x{1234}X
** Failers
No match
XYZ
No match
/^\P{Any}+X/8
** Failers
No match
AXYZ
No match
\x{1234}XYZ
No match
A\x{1234}XYZ
No match
XYZ
No match
/^\p{Any}*X/8
XYZ
0: X
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
A\x{1234}XYZ
0: A\x{1234}X
** Failers
No match
/^\P{Any}*X/8
XYZ
0: X
** Failers
No match
AXYZ
No match
\x{1234}XYZ
No match
A\x{1234}XYZ
No match
/^[\p{Any}]X/8
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
** Failers
No match
X
No match
/^[\P{Any}]X/8
** Failers
No match
AX
No match
/^[\p{Any}]?X/8
XYZ
0: X
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
** Failers
No match
ABXYZ
No match
/^[\P{Any}]?X/8
XYZ
0: X
** Failers
No match
AXYZ
No match
\x{1234}XYZ
No match
ABXYZ
No match
/^[\p{Any}]+X/8
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
A\x{1234}XYZ
0: A\x{1234}X
** Failers
No match
XYZ
No match
/^[\P{Any}]+X/8
** Failers
No match
AXYZ
No match
\x{1234}XYZ
No match
A\x{1234}XYZ
No match
XYZ
No match
/^[\p{Any}]*X/8
XYZ
0: X
AXYZ
0: AX
\x{1234}XYZ
0: \x{1234}X
A\x{1234}XYZ
0: A\x{1234}X
** Failers
No match
/^[\P{Any}]*X/8
XYZ
0: X
** Failers
No match
AXYZ
No match
\x{1234}XYZ
No match
A\x{1234}XYZ
No match
/^\p{Any}{3,5}?/8
abcdefgh
0: abc
\x{1234}\n\r\x{3456}xyz
0: \x{1234}\x{0a}\x{0d}
/^\p{Any}{3,5}/8
abcdefgh
0: abcde
\x{1234}\n\r\x{3456}xyz
0: \x{1234}\x{0a}\x{0d}\x{3456}x
/^\P{Any}{3,5}?/8
** Failers
No match
abcdefgh
No match
\x{1234}\n\r\x{3456}xyz
No match
/^\p{L&}X/8
AXY
0: AX
aXY
0: aX
\x{1c5}XY
0: \x{1c5}X
** Failers
No match
\x{1bb}XY
No match
\x{2b0}XY
No match
!XY
No match
/^[\p{L&}]X/8
AXY
0: AX
aXY
0: aX
\x{1c5}XY
0: \x{1c5}X
** Failers
No match
\x{1bb}XY
No match
\x{2b0}XY
No match
!XY
No match
/^\p{L&}+X/8
AXY
0: AX
aXY
0: aX
AbcdeXyz
0: AbcdeX
\x{1c5}AbXY
0: \x{1c5}AbX
abcDEXypqreXlmn
0: abcDEXypqreX
** Failers
No match
\x{1bb}XY
No match
\x{2b0}XY
No match
!XY
No match
/^[\p{L&}]+X/8
AXY
0: AX
aXY
0: aX
AbcdeXyz
0: AbcdeX
\x{1c5}AbXY
0: \x{1c5}AbX
abcDEXypqreXlmn
0: abcDEXypqreX
** Failers
No match
\x{1bb}XY
No match
\x{2b0}XY
No match
!XY
No match
/^\p{L&}+?X/8
AXY
0: AX
aXY
0: aX
AbcdeXyz
0: AbcdeX
\x{1c5}AbXY
0: \x{1c5}AbX
abcDEXypqreXlmn
0: abcDEX
** Failers
No match
\x{1bb}XY
No match
\x{2b0}XY
No match
!XY
No match
/^[\p{L&}]+?X/8
AXY
0: AX
aXY
0: aX
AbcdeXyz
0: AbcdeX
\x{1c5}AbXY
0: \x{1c5}AbX
abcDEXypqreXlmn
0: abcDEX
** Failers
No match
\x{1bb}XY
No match
\x{2b0}XY
No match
!XY
No match
/^\P{L&}X/8
!XY
0: !X
\x{1bb}XY
0: \x{1bb}X
\x{2b0}XY
0: \x{2b0}X
** Failers
No match
\x{1c5}XY
No match
AXY
No match
/^[\P{L&}]X/8
!XY
0: !X
\x{1bb}XY
0: \x{1bb}X
\x{2b0}XY
0: \x{2b0}X
** Failers
No match
\x{1c5}XY
No match
AXY
No match
/^(\p{Z}[^\p{C}\p{Z}]+)*$/
\xa0!
0: \xa0!
1: \xa0!
/^[\pL](abc)(?1)/
AabcabcYZ
0: Aabcabc
1: abc
/([\pL]=(abc))*X/
L=abcX
0: L=abcX
1: L=abc
2: abc
/The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
will match it only with UCP support, because without that it has no notion
of case for anything other than the ASCII letters. /
/((?i)[\x{c0}])/8
\x{c0}
0: \x{c0}
1: \x{c0}
\x{e0}
0: \x{e0}
1: \x{e0}
/(?i:[\x{c0}])/8
\x{c0}
0: \x{c0}
\x{e0}
0: \x{e0}
/^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/8
\x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
0: \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
/The next two are special cases where the lengths of the different cases of the
same character differ. The first went wrong with heap frame storage; the 2nd
was broken in all cases./
/^\x{023a}+?(\x{0130}+)/8i
\x{023a}\x{2c65}\x{0130}
0: \x{23a}\x{2c65}\x{130}
1: \x{130}
/^\x{023a}+([^X])/8i
\x{023a}\x{2c65}X
0: \x{23a}\x{2c65}
1: \x{2c65}
/Check property support in non-UTF-8 mode/
/\p{L}{4}/
123abcdefg
0: abcd
123abc\xc4\xc5zz
0: abc\xc4
/\X{1,3}\d/
\x8aBCD
No match
/\X?\d/
\x8aBCD
No match
/\P{L}?\d/
\x8aBCD
No match
/[\PPP\x8a]{1,}\x80/
A\x80
0: A\x80
/(?:[\PPa*]*){8,}/
/[\P{Any}]/BZ
------------------------------------------------------------------
Bra
[\P{Any}]
Ket
End
------------------------------------------------------------------
/[\P{Any}\E]/BZ
------------------------------------------------------------------
Bra
[\P{Any}]
Ket
End
------------------------------------------------------------------
/(\P{Yi}+\277)/
/(\P{Yi}+\277)?/
/(?<=\P{Yi}{3}A)X/
/\p{Yi}+(\P{Yi}+)(?1)/
/(\P{Yi}{2}\277)?/
/[\P{Yi}A]/
/[\P{Yi}\P{Yi}\P{Yi}A]/
/[^\P{Yi}A]/
/[^\P{Yi}\P{Yi}\P{Yi}A]/
/(\P{Yi}*\277)*/
/(\P{Yi}*?\277)*/
/(\p{Yi}*+\277)*/
/(\P{Yi}?\277)*/
/(\P{Yi}??\277)*/
/(\p{Yi}?+\277)*/
/(\P{Yi}{0,3}\277)*/
/(\P{Yi}{0,3}?\277)*/
/(\p{Yi}{0,3}+\277)*/
/^[\p{Arabic}]/8
\x{60e}
0: \x{60e}
\x{656}
0: \x{656}
\x{657}
0: \x{657}
\x{658}
0: \x{658}
\x{659}
0: \x{659}
\x{65a}
0: \x{65a}
\x{65b}
0: \x{65b}
\x{65c}
0: \x{65c}
\x{65d}
0: \x{65d}
\x{65e}
0: \x{65e}
\x{66a}
0: \x{66a}
\x{6e9}
0: \x{6e9}
\x{6ef}
0: \x{6ef}
\x{6fa}
0: \x{6fa}
** Failers
No match
\x{600}
No match
\x{650}
No match
\x{651}
No match
\x{652}
No match
\x{653}
No match
\x{654}
No match
\x{655}
No match
\x{65f}
No match
/^\p{Cyrillic}/8
\x{1d2b}
0: \x{1d2b}
/^\p{Common}/8
\x{589}
0: \x{589}
\x{60c}
0: \x{60c}
\x{61f}
0: \x{61f}
\x{964}
0: \x{964}
\x{965}
0: \x{965}
\x{970}
0: \x{970}
/^\p{Inherited}/8
\x{64b}
0: \x{64b}
\x{654}
0: \x{654}
\x{655}
0: \x{655}
\x{200c}
0: \x{200c}
** Failers
No match
\x{64a}
No match
\x{656}
No match
/^\p{Shavian}/8
\x{10450}
0: \x{10450}
\x{1047f}
0: \x{1047f}
/^\p{Deseret}/8
\x{10400}
0: \x{10400}
\x{1044f}
0: \x{1044f}
/^\p{Osmanya}/8
\x{10480}
0: \x{10480}
\x{1049d}
0: \x{1049d}
\x{104a0}
0: \x{104a0}
\x{104a9}
0: \x{104a9}
** Failers
No match
\x{1049e}
No match
\x{1049f}
No match
\x{104aa}
No match
/\p{Zl}{2,3}+/8BZ
------------------------------------------------------------------
Bra
prop Zl {2}
prop Zl ?+
Ket
End
------------------------------------------------------------------
\xe2\x80\xa8\xe2\x80\xa8
0: \x{2028}\x{2028}
\x{2028}\x{2028}\x{2028}
0: \x{2028}\x{2028}\x{2028}
/\p{Zl}/8BZ
------------------------------------------------------------------
Bra
prop Zl
Ket
End
------------------------------------------------------------------
/\p{Lu}{3}+/8BZ
------------------------------------------------------------------
Bra
prop Lu {3}
Ket
End
------------------------------------------------------------------
/\pL{2}+/8BZ
------------------------------------------------------------------
Bra
prop L {2}
Ket
End
------------------------------------------------------------------
/\p{Cc}{2}+/8BZ
------------------------------------------------------------------
Bra
prop Cc {2}
Ket
End
------------------------------------------------------------------
/\x{c0}+\x{116}+/8i
\x{c0}\x{e0}\x{116}\x{117}
0: \x{c0}\x{e0}\x{116}\x{117}
/[\x{c0}\x{116}]+/8i
\x{c0}\x{e0}\x{116}\x{117}
0: \x{c0}\x{e0}\x{116}\x{117}
/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8
\x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a}
/\x{a77d}\x{1d79}/8i
\x{a77d}\x{1d79}
0: \x{a77d}\x{1d79}
\x{1d79}\x{a77d}
0: \x{1d79}\x{a77d}
/\x{a77d}\x{1d79}/8
\x{a77d}\x{1d79}
0: \x{a77d}\x{1d79}
** Failers
No match
\x{1d79}\x{a77d}
No match
/(A)\1/8i
AA
0: AA
1: A
Aa
0: Aa
1: A
aa
0: aa
1: a
aA
0: aA
1: a
/(\x{de})\1/8i
\x{de}\x{de}
0: \x{de}\x{de}
1: \x{de}
\x{de}\x{fe}
0: \x{de}\x{fe}
1: \x{de}
\x{fe}\x{fe}
0: \x{fe}\x{fe}
1: \x{fe}
\x{fe}\x{de}
0: \x{fe}\x{de}
1: \x{fe}
/(\x{10a})\1/8i
\x{10a}\x{10a}
0: \x{10a}\x{10a}
1: \x{10a}
\x{10a}\x{10b}
0: \x{10a}\x{10b}
1: \x{10a}
\x{10b}\x{10b}
0: \x{10b}\x{10b}
1: \x{10b}
\x{10b}\x{10a}
0: \x{10b}\x{10a}
1: \x{10b}
/ End of testinput6 /