1Regexp: (\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)* 2a: Ok 3a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3: Ok 4*: Ok 5a|b: Ok 6.//a:b: Ok 7a/b/c: Ok 8a/*/b: Ok 9a:*/b:*/c:*: Ok 10child::a/child::b:*: Ok 11child::a/child::b:*|a/*/b|.//a:b: Ok 121: Fail 131ab: Fail 14a:1: Ok 15@a: Fail 16ancestor::a: Ok 17Regexp: (\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*(\|(\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*)* 18a: Ok 19a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3: Ok 20*: Ok 21a|b: Ok 22.//a:b: Ok 23a/b/c: Ok 24a/*/b: Ok 25a:*/b:*/c:*: Ok 26child::a/child::b:*: Ok 27child::a/child::b:*|a/*/b|.//a:b: Ok 281: Fail 291ab: Fail 30a:1: Fail 31@a: Fail 32ancestor::a: Fail 33