+#
+# Nested Lookahead / Behind
+#
+"one(?=(?:(?!<out>).)*</out>)" "<out><0>one</0> stuff</out>"
+"one(?=(?:(?!<out>).)*</out>)" "<out>one <out></out>"
+
+# More nesting lookaround: pattern matches "qq" when not preceded by 'a' and followed by 'z'
+"(?<!a(?!...z))qq" "<0>qq</0>c"
+"(?<!a(?!...z))qq" "f<0>qq</0>c"
+"(?<!a(?!...z))qq" "aqqz"
+
+# More nested lookaround: match any two chars preceded and followed by an upper case letter.
+# With gratuitious nesting of look-arounds and capture from the look-arounds.
+
+"(?=(?<=(\p{Lu})(?=..(\p{Lu})))).." "<1>A</1><0>jk</0><2>B</2>"
+"(?=(?<=(\p{Lu})(?=..(\p{Lu})))).." "ajkB"
+"(?=(?<=(\p{Lu})(?=..(\p{Lu})))).." "Ajkb"
+
+# Nested lookaround cases from bug ICU-20564
+"(?<=(?<=((?=)){0}+))" "<0></0>abc"
+"(?<=c(?<=c((?=c)){1}+))" "c<0><1></1></0>cc"
+