php-src/ext/mbstring/oniguruma/test.rb

972 lines
28 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# test.rb
# Copyright (C) 2003 K.Kosako (kosako@sofnec.co.jp)
def pr(result, reg, str, n = 0, *range)
printf("%s /%s/:'%s'", result, reg.source, str)
if (n.class == Fixnum)
printf(":%d", n) if n != 0
if (range.size > 0)
if (range[3].nil?)
printf(" (%d-%d : X-X)", range[0], range[1])
else
printf(" (%d-%d : %d-%d)", range[0], range[1], range[2], range[3])
end
end
else
printf(" %s", n)
end
printf("\n")
end
def rok(result_opt, reg, str, n = 0, *range)
result = "OK" + result_opt
result += " " * (7 - result.length)
pr(result, reg, str, n, *range)
$rok += 1
end
def rfail(result_opt, reg, str, n = 0, *range)
result = "FAIL" + result_opt
result += " " * (7 - result.length)
pr(result, reg, str, n, *range)
$rfail += 1
end
def x(reg, str, s, e, n = 0)
m = reg.match(str)
if m
if (m.size() <= n)
rfail("(%d)" % (m.size()-1), reg, str, n)
else
if (m.begin(n) == s && m.end(n) == e)
rok("", reg, str, n)
else
rfail("", reg, str, n, s, e, m.begin(n), m.end(n))
end
end
else
rfail("", reg, str, n)
end
end
def n(reg, str)
m = reg.match(str)
if m
rfail("(N)", reg, str, 0)
else
rok("(N)", reg, str, 0)
end
end
def r(reg, str, index, pos = nil)
if (pos)
res = str.rindex(reg, pos)
else
res = str.rindex(reg)
end
if res
if (res == index)
rok("(r)", reg, str)
else
rfail("(r)", reg, str, [res, '-', index])
end
else
rfail("(r)", reg, str)
end
end
def i(reg, str, s = 0, e = 0, n = 0)
# ignore
end
### main ###
$rok = $rfail = 0
def test_sb(enc)
$KCODE = enc
x(//, '', 0, 0)
x(/^/, '', 0, 0)
x(/$/, '', 0, 0)
x(/\G/, '', 0, 0)
x(/\A/, '', 0, 0)
x(/\Z/, '', 0, 0)
x(/\z/, '', 0, 0)
x(/^$/, '', 0, 0)
x(/\ca/, "\001", 0, 1)
x(/\C-b/, "\002", 0, 1)
x(/\M-Z/, "\xDA", 0, 1)
x(//, 'a', 0, 0)
x(/a/, 'a', 0, 1)
x(/aa/, 'aa', 0, 2)
x(/aaa/, 'aaa', 0, 3)
x(/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 0, 35)
x(/ab/, 'ab', 0, 2)
x(/b/, 'ab', 1, 2)
x(/bc/, 'abc', 1, 3)
x(/\17/, "\017", 0, 1)
x(/\x1f/, "\x1f", 0, 1)
x(/\xFE/, "\xfe", 0, 1)
x(/a(?#....\\JJJJ)b/, 'ab', 0, 2)
x(/./, 'a', 0, 1)
n(/./, '')
x(/../, 'ab', 0, 2)
x(/\w/, 'e', 0, 1)
n(/\W/, 'e')
x(/\s/, ' ', 0, 1)
x(/\S/, 'b', 0, 1)
x(/\d/, '4', 0, 1)
n(/\D/, '4')
x(/\b/, 'z ', 0, 0)
x(/\b/, ' z', 1, 1)
x(/\B/, 'zz ', 1, 1)
x(/\B/, 'z ', 2, 2)
x(/\B/, ' z', 0, 0)
x(/[ab]/, 'b', 0, 1)
n(/[ab]/, 'c')
x(/[a-z]/, 't', 0, 1)
n(/[^a]/, 'a')
x(/[^a]/, "\n", 0, 1)
x(/[]]/, ']', 0, 1)
n(/[^]]/, ']')
x(/[b-]/, 'b', 0, 1)
x(/[b-]/, '-', 0, 1)
x(/[\w]/, 'z', 0, 1)
n(/[\w]/, ' ')
x(/[\d]/, '5', 0, 1)
n(/[\d]/, 'e')
x(/[\D]/, 't', 0, 1)
n(/[\D]/, '3')
x(/[\s]/, ' ', 0, 1)
n(/[\s]/, 'a')
x(/[\S]/, 'b', 0, 1)
n(/[\S]/, ' ')
x(/[\w\d]/, '2', 0, 1)
n(/[\w\d]/, ' ')
x(/[[:upper:]]/, 'B', 0, 1)
x(/[*[:xdigit:]+]/, '+', 0, 1)
x(/[*[:xdigit:]+]/, 'GHIKK-9+*', 6, 7)
x(/[*[:xdigit:]+]/, '-@^+', 3, 4)
n(/[[:upper]]/, 'A')
x(/[[:upper]]/, ':', 0, 1)
x(/[\044-\047]/, "\046", 0, 1)
x(/[\x5a-\x5c]/, "\x5b", 0, 1)
x(/[\x6A-\x6D]/, "\x6c", 0, 1)
n(/[\x6A-\x6D]/, "\x6E")
n(/^[0-9A-F]+ 0+ UNDEF /, '75F 00000000 SECT14A notype () External | _rb_apply')
x(/[\[]/, '[', 0, 1)
x(/[\]]/, ']', 0, 1)
x(/[&]/, '&', 0, 1)
x(/[[ab]]/, 'b', 0, 1)
x(/[[ab]c]/, 'c', 0, 1)
n(/[[^a]]/, 'a')
n(/[^[a]]/, 'a')
x(/[[ab]&&bc]/, 'b', 0, 1)
n(/[[ab]&&bc]/, 'a')
n(/[[ab]&&bc]/, 'c')
x(/[a-z&&b-y&&c-x]/, 'w', 0, 1)
n(/[^a-z&&b-y&&c-x]/, 'w')
x(/[[^a&&a]&&a-z]/, 'b', 0, 1)
n(/[[^a&&a]&&a-z]/, 'a')
x(/[[^a-z&&bcdef]&&[^c-g]]/, 'h', 0, 1)
n(/[[^a-z&&bcdef]&&[^c-g]]/, 'c')
x(/[^[^abc]&&[^cde]]/, 'c', 0, 1)
x(/[^[^abc]&&[^cde]]/, 'e', 0, 1)
n(/[^[^abc]&&[^cde]]/, 'f')
x(/[a-&&-a]/, '-', 0, 1)
n(/[a-&&-a]/, '&')
n(/\wabc/, ' abc')
x(/a\Wbc/, 'a bc', 0, 4)
x(/a.b.c/, 'aabbc', 0, 5)
x(/.\wb\W..c/, 'abb bcc', 0, 7)
x(/\s\wzzz/, ' zzzz', 0, 5)
x(/aa.b/, 'aabb', 0, 4)
n(/.a/, 'ab')
x(/.a/, 'aa', 0, 2)
x(/^a/, 'a', 0, 1)
x(/^a$/, 'a', 0, 1)
x(/^\w$/, 'a', 0, 1)
n(/^\w$/, ' ')
x(/^\wab$/, 'zab', 0, 3)
x(/^\wabcdef$/, 'zabcdef', 0, 7)
x(/^\w...def$/, 'zabcdef', 0, 7)
x(/\w\w\s\Waaa\d/, 'aa aaa4', 0, 8)
x(/\A\Z/, '', 0, 0)
x(/\Axyz/, 'xyz', 0, 3)
x(/xyz\Z/, 'xyz', 0, 3)
x(/xyz\z/, 'xyz', 0, 3)
x(/\Gaz/, 'az', 0, 2)
n(/\Gz/, 'bza')
n(/az\G/, 'az')
n(/az\A/, 'az')
n(/a\Az/, 'az')
x(/\^\$/, '^$', 0, 2)
x(/\w/, '_', 0, 1)
n(/\W/, '_')
x(/(?=z)z/, 'z', 0, 1)
n(/(?=z)./, 'a')
x(/(?!z)a/, 'a', 0, 1)
n(/(?!z)a/, 'z')
x(/(?i:a)/, 'a', 0, 1)
x(/(?i:a)/, 'A', 0, 1)
x(/(?i:A)/, 'a', 0, 1)
n(/(?i:A)/, 'b')
x(/(?i:[A-Z])/, 'a', 0, 1)
x(/(?i:[f-m])/, 'H', 0, 1)
x(/(?i:[f-m])/, 'h', 0, 1)
n(/(?i:[f-m])/, 'e')
n(/(?i:[A-c])/, 'D') # changed spec. 2003/02/07
n(/(?i:[a-C])/, 'D') # changed spec. 2003/02/07
n(/(?i:[b-C])/, 'A')
x(/(?i:[a-C])/, 'B', 0, 1)
n(/(?i:[c-X])/, '[')
n(/(?i:[!-k])/, 'Z')
x(/(?i:[!-k])/, '7', 0, 1)
n(/(?i:[T-}])/, 'b')
x(/(?i:[T-}])/, '{', 0, 1)
x(/(?i:\?a)/, '?A', 0, 2)
x(/(?i:\*A)/, '*a', 0, 2)
n(/./, "\n")
x(/(?m:.)/, "\n", 0, 1)
x(/(?m:a.)/, "a\n", 0, 2)
x(/(?m:.b)/, "a\nb", 1, 3)
x(/a?/, '', 0, 0)
x(/a?/, 'b', 0, 0)
x(/a?/, 'a', 0, 1)
x(/a*/, '', 0, 0)
x(/a*/, 'a', 0, 1)
x(/a*/, 'aaa', 0, 3)
x(/a*/, 'baaaa', 0, 0)
n(/a+/, '')
x(/a+/, 'a', 0, 1)
x(/a+/, 'aaaa', 0, 4)
x(/a+/, 'aabbb', 0, 2)
x(/a+/, 'baaaa', 1, 5)
x(/.?/, '', 0, 0)
x(/.?/, 'f', 0, 1)
x(/.?/, "\n", 0, 0)
x(/.*/, '', 0, 0)
x(/.*/, 'abcde', 0, 5)
x(/.+/, 'z', 0, 1)
x(/.+/, "zdswer\n", 0, 6)
x(/a|b/, 'a', 0, 1)
x(/a|b/, 'b', 0, 1)
x(/|a/, 'a', 0, 0)
x(/(|a)/, 'a', 0, 0)
x(/ab|bc/, 'ab', 0, 2)
x(/ab|bc/, 'bc', 0, 2)
x(/z(?:ab|bc)/, 'zbc', 0, 3)
x(/a(?:ab|bc)c/, 'aabc', 0, 4)
x(/ab|(?:ac|az)/, 'az', 0, 2)
x(/a|b|c/, 'dc', 1, 2)
x(/a|b|cd|efg|h|ijk|lmn|o|pq|rstuvwx|yz/, 'pqr', 0, 2)
n(/a|b|cd|efg|h|ijk|lmn|o|pq|rstuvwx|yz/, 'mn')
x(/a|^z/, 'ba', 1, 2)
x(/a|^z/, 'za', 0, 1)
x(/a|\Gz/, 'bza', 2, 3)
x(/a|\Gz/, 'za', 0, 1)
x(/a|\Az/, 'bza', 2, 3)
x(/a|\Az/, 'za', 0, 1)
x(/a|b\Z/, 'ba', 1, 2)
x(/a|b\Z/, 'b', 0, 1)
x(/a|b\z/, 'ba', 1, 2)
x(/a|b\z/, 'b', 0, 1)
x(/\w|\s/, ' ', 0, 1)
n(/\w|\w/, ' ')
x(/\w|%/, '%', 0, 1)
x(/\w|[&$]/, '&', 0, 1)
x(/[b-d]|[^e-z]/, 'a', 0, 1)
x(/(?:a|[c-f])|bz/, 'dz', 0, 1)
x(/(?:a|[c-f])|bz/, 'bz', 0, 2)
x(/abc|(?=zz)..f/, 'zzf', 0, 3)
x(/abc|(?!zz)..f/, 'abf', 0, 3)
x(/(?=za)..a|(?=zz)..a/, 'zza', 0, 3)
n(/(?>a|abd)c/, 'abdc')
x(/(?>abd|a)c/, 'abdc', 0, 4)
x(/a?|b/, 'a', 0, 1)
x(/a?|b/, 'b', 0, 0)
x(/a?|b/, '', 0, 0)
x(/a*|b/, 'aa', 0, 2)
x(/a*|b*/, 'ba', 0, 0)
x(/a*|b*/, 'ab', 0, 1)
x(/a+|b*/, '', 0, 0)
x(/a+|b*/, 'bbb', 0, 3)
x(/a+|b*/, 'abbb', 0, 1)
n(/a+|b+/, '')
x(/(a|b)?/, 'b', 0, 1)
x(/(a|b)*/, 'ba', 0, 2)
x(/(a|b)+/, 'bab', 0, 3)
x(/(ab|ca)+/, 'caabbc', 0, 4)
x(/(ab|ca)+/, 'aabca', 1, 5)
x(/(ab|ca)+/, 'abzca', 0, 2)
x(/(a|bab)+/, 'ababa', 0, 5)
x(/(a|bab)+/, 'ba', 1, 2)
x(/(a|bab)+/, 'baaaba', 1, 4)
x(/(?:a|b)(?:a|b)/, 'ab', 0, 2)
x(/(?:a*|b*)(?:a*|b*)/, 'aaabbb', 0, 3)
x(/(?:a*|b*)(?:a+|b+)/, 'aaabbb', 0, 6)
x(/(?:a+|b+){2}/, 'aaabbb', 0, 6)
x(/h{0,}/, 'hhhh', 0, 4)
x(/(?:a+|b+){1,2}/, 'aaabbb', 0, 6)
x(/(?:a+|\Ab*)cc/, 'cc', 0, 2)
n(/(?:a+|\Ab*)cc/, 'abcc')
x(/(?:^a+|b+)*c/, 'aabbbabc', 6, 8)
x(/(?:^a+|b+)*c/, 'aabbbbc', 0, 7)
x(/a|(?i)c/, 'C', 0, 1)
x(/(?i)c|a/, 'C', 0, 1)
i(/(?i)c|a/, 'A', 0, 1) # different spec.
x(/(?i:c)|a/, 'C', 0, 1)
n(/(?i:c)|a/, 'A')
x(/[abc]?/, 'abc', 0, 1)
x(/[abc]*/, 'abc', 0, 3)
x(/[^abc]*/, 'abc', 0, 0)
n(/[^abc]+/, 'abc')
x(/a??/, 'aaa', 0, 0)
x(/ba??b/, 'bab', 0, 3)
x(/a*?/, 'aaa', 0, 0)
x(/ba*?/, 'baa', 0, 1)
x(/ba*?b/, 'baab', 0, 4)
x(/a+?/, 'aaa', 0, 1)
x(/ba+?/, 'baa', 0, 2)
x(/ba+?b/, 'baab', 0, 4)
x(/(?:a?)??/, 'a', 0, 0)
x(/(?:a??)?/, 'a', 0, 0)
x(/(?:a?)+?/, 'aaa', 0, 1)
x(/(?:a+)??/, 'aaa', 0, 0)
x(/(?:a+)??b/, 'aaab', 0, 4)
i(/(?:ab)?{2}/, '', 0, 0) # GNU regex bug
x(/(?:ab)?{2}/, 'ababa', 0, 4)
x(/(?:ab)*{0}/, 'ababa', 0, 0)
x(/(?:ab){3,}/, 'abababab', 0, 8)
n(/(?:ab){3,}/, 'abab')
x(/(?:ab){2,4}/, 'ababab', 0, 6)
x(/(?:ab){2,4}/, 'ababababab', 0, 8)
x(/(?:ab){2,4}?/, 'ababababab', 0, 4)
x(/(?:ab){,}/, 'ab{,}', 0, 5)
x(/(?:abc)+?{2}/, 'abcabcabc', 0, 6)
x(/(?:X*)(?i:xa)/, 'XXXa', 0, 4)
x(/(d+)([^abc]z)/, 'dddz', 0, 4)
x(/([^abc]*)([^abc]z)/, 'dddz', 0, 4)
x(/(\w+)(\wz)/, 'dddz', 0, 4)
x(/(a)/, 'a', 0, 1, 1)
x(/(ab)/, 'ab', 0, 2, 1)
x(/((ab))/, 'ab', 0, 2)
x(/((ab))/, 'ab', 0, 2, 1)
x(/((ab))/, 'ab', 0, 2, 2)
x(/((((((((((((((((((((ab))))))))))))))))))))/, 'ab', 0, 2, 20)
x(/(ab)(cd)/, 'abcd', 0, 2, 1)
x(/(ab)(cd)/, 'abcd', 2, 4, 2)
x(/()(a)bc(def)ghijk/, 'abcdefghijk', 3, 6, 3)
x(/(()(a)bc(def)ghijk)/, 'abcdefghijk', 3, 6, 4)
x(/(^a)/, 'a', 0, 1)
x(/(a)|(a)/, 'ba', 1, 2, 1)
x(/(^a)|(a)/, 'ba', 1, 2, 2)
x(/(a?)/, 'aaa', 0, 1, 1)
x(/(a*)/, 'aaa', 0, 3, 1)
x(/(a*)/, '', 0, 0, 1)
x(/(a+)/, 'aaaaaaa', 0, 7, 1)
x(/(a+|b*)/, 'bbbaa', 0, 3, 1)
x(/(a+|b?)/, 'bbbaa', 0, 1, 1)
x(/(abc)?/, 'abc', 0, 3, 1)
x(/(abc)*/, 'abc', 0, 3, 1)
x(/(abc)+/, 'abc', 0, 3, 1)
x(/(xyz|abc)+/, 'abc', 0, 3, 1)
x(/([xyz][abc]|abc)+/, 'abc', 0, 3, 1)
x(/((?i:abc))/, 'AbC', 0, 3, 1)
x(/(abc)(?i:\1)/, 'abcABC', 0, 6)
x(/((?m:a.c))/, "a\nc", 0, 3, 1)
x(/((?=az)a)/, 'azb', 0, 1, 1)
x(/abc|(.abd)/, 'zabd', 0, 4, 1)
x(/(?:abc)|(ABC)/, 'abc', 0, 3)
x(/(?i:(abc))|(zzz)/, 'ABC', 0, 3, 1)
x(/a*(.)/, 'aaaaz', 4, 5, 1)
x(/a*?(.)/, 'aaaaz', 0, 1, 1)
x(/a*?(c)/, 'aaaac', 4, 5, 1)
x(/[bcd]a*(.)/, 'caaaaz', 5, 6, 1)
x(/(\Abb)cc/, 'bbcc', 0, 2, 1)
n(/(\Abb)cc/, 'zbbcc')
x(/(^bb)cc/, 'bbcc', 0, 2, 1)
n(/(^bb)cc/, 'zbbcc')
x(/cc(bb$)/, 'ccbb', 2, 4, 1)
n(/cc(bb$)/, 'ccbbb')
#n(/\1/, 'a') # compile error on Oniguruma
n(/(\1)/, '')
n(/\1(a)/, 'aa')
n(/(a(b)\1)\2+/, 'ababb')
n(/(?:(?:\1|z)(a))+$/, 'zaa')
x(/(?:(?:\1|z)(a))+$/, 'zaaa', 0, 4)
x(/(a)(?=\1)/, 'aa', 0, 1)
n(/(a)$|\1/, 'az')
x(/(a)\1/, 'aa', 0, 2)
n(/(a)\1/, 'ab')
x(/(a?)\1/, 'aa', 0, 2)
x(/(a??)\1/, 'aa', 0, 0)
x(/(a*)\1/, 'aaaaa', 0, 4)
x(/(a*)\1/, 'aaaaa', 0, 2, 1)
x(/a(b*)\1/, 'abbbb', 0, 5)
x(/a(b*)\1/, 'ab', 0, 1)
x(/(a*)(b*)\1\2/, 'aaabbaaabb', 0, 10)
x(/(a*)(b*)\2/, 'aaabbbb', 0, 7)
x(/(((((((a*)b))))))c\7/, 'aaabcaaa', 0, 8)
x(/(((((((a*)b))))))c\7/, 'aaabcaaa', 0, 3, 7)
x(/(a)(b)(c)\2\1\3/, 'abcbac', 0, 6)
x(/([a-d])\1/, 'cc', 0, 2)
x(/(\w\d\s)\1/, 'f5 f5 ', 0, 6)
n(/(\w\d\s)\1/, 'f5 f5')
x(/(who|[a-c]{3})\1/, 'whowho', 0, 6)
x(/...(who|[a-c]{3})\1/, 'abcwhowho', 0, 9)
x(/(who|[a-c]{3})\1/, 'cbccbc', 0, 6)
x(/(^a)\1/, 'aa', 0, 2)
n(/(^a)\1/, 'baa')
n(/(a$)\1/, 'aa')
n(/(ab\Z)\1/, 'ab')
x(/(a*\Z)\1/, 'a', 1, 1)
x(/.(a*\Z)\1/, 'ba', 1, 2)
x(/(.(abc)\2)/, 'zabcabc', 0, 7, 1)
x(/(.(..\d.)\2)/, 'z12341234', 0, 9, 1)
x(/((?i:az))\1/, 'AzAz', 0, 4)
n(/((?i:az))\1/, 'Azaz')
x(/(?<=a)b/, 'ab', 1, 2)
n(/(?<=a)b/, 'bb')
x(/(?<=a|b)b/, 'bb', 1, 2)
x(/(?<=a|bc)b/, 'bcb', 2, 3)
x(/(?<=a|bc)b/, 'ab', 1, 2)
x(/(?<=a|bc||defghij|klmnopq|r)z/, 'rz', 1, 2)
x(/(?<!a)b/, 'cb', 1, 2)
n(/(?<!a)b/, 'ab')
x(/(?<!a|bc)b/, 'bbb', 0, 1)
n(/(?<!a|bc)z/, 'bcz')
x(/(?<name1>a)/, 'a', 0, 1)
x(/(?<name-2>ab)\1/, 'abab', 0, 4)
x(/(?<name-3>.zv.)\k<name-3>/, 'azvbazvb', 0, 8)
x(/(?<=\g<ab>)|-\zEND (?<ab>XyZ)/, 'XyZ', 3, 3)
x(/(?<n>|a\g<n>)+/, '', 0, 0)
x(/(?<n>|\(\g<n>\))+$/, '()(())', 0, 6)
x(/\g<n>(?<n>.){0}/, 'X', 0, 1, 1)
x(/\g<n>(abc|df(?<n>.YZ){2,8}){0}/, 'XYZ', 0, 3)
x(/\A(?<n>(a\g<n>)|)\z/, 'aaaa', 0, 4)
x(/(?<n>|\g<m>\g<n>)\z|\zEND (?<m>a|(b)\g<m>)/, 'bbbbabba', 0, 8)
x(/(?<@:name[1240]>\w+\sx)a+\k<@:name[1240]>/, ' fg xaaaaaaaafg x', 2, 18)
x(/(z)()()(?<9>a)\4/, 'zaa', 1, 2, 4)
x(/(.)(((?<*>a)))\k<*>/, 'zaa', 0, 3)
x(/((?<name1>\d)|(?<name2>\w))(\k<name1>|\k<name2>)/, 'ff', 0, 2)
x(/(?:(?<x>)|(?<x>efg))\k<x>/, '', 0, 0)
x(/(?:(?<@x>abc)|(?<@x>efg))\k<@x>/, 'abcefgefg', 3, 9)
n(/(?:(?<@x>abc)|(?<@x>efg))\k<@x>/, 'abcefg')
x(/(?:(?<n1>.)|(?<n1>..)|(?<n1>...)|(?<n1>....)|(?<n1>.....)|(?<n1>......)|(?<n1>.......)|(?<n1>........)|(?<n1>.........)|(?<n1>..........)|(?<n1>...........)|(?<n1>............)|(?<n1>.............)|(?<n1>..............))\k<n1>$/, 'a-pyumpyum', 2, 10)
x(/(?:(?<n1>.)|(?<n1>..)|(?<n1>...)|(?<n1>....)|(?<n1>.....)|(?<n1>......)|(?<n1>.......)|(?<n1>........)|(?<n1>.........)|(?<n1>..........)|(?<n1>...........)|(?<n1>............)|(?<n1>.............)|(?<n1>..............))\k<n1>$/, 'xxxxabcdefghijklmnabcdefghijklmn', 4, 18, 14)
x(/(?<name1>)(?<name2>)(?<name3>)(?<name4>)(?<name5>)(?<name6>)(?<name7>)(?<name8>)(?<name9>)(?<name10>)(?<name11>)(?<name12>)(?<name13>)(?<name14>)(?<name15>)(?<name16>aaa)(?<name17>)$/, 'aaa', 0, 3, 16)
x(/(?<foo>a|\(\g<foo>\))/, 'a', 0, 1)
x(/(?<foo>a|\(\g<foo>\))/, '((((((a))))))', 0, 13)
x(/(?<foo>a|\(\g<foo>\))/, '((((((((a))))))))', 0, 17, 1)
x(/\g<bar>|\zEND(?<bar>.*abc$)/, 'abcxxxabc', 0, 9)
x(/\g<1>|\zEND(.a.)/, 'bac', 0, 3)
x(/\g<2>\g<1>|\zEND(.a.)(?<?>.b.)/, 'xbxyay', 3, 6, 1)
x(/\A(?:\g<pon>|\g<pan>|\zEND (?<pan>a|c\g<pon>c)(?<pon>b|d\g<pan>d))$/, 'cdcbcdc', 0, 7)
x(/\A(?<n>|a\g<m>)\z|\zEND (?<m>\g<n>)/, 'aaaa', 0, 4)
x(/(?<n>(a|b\g<n>c){3,5})/, 'baaaaca', 1, 5)
x(/(?<n>(a|b\g<n>c){3,5})/, 'baaaacaaaaa', 0, 10)
r(//, '', 0)
r(/a/, 'a', 0)
r(/a/, 'a', 0, 1)
r(/b/, 'abc', 1)
r(/b/, 'abc', 1, 2)
r(/./, 'a', 0)
r(/.*/, 'abcde fgh', 9)
r(/a*/, 'aaabbc', 6)
r(/a+/, 'aaabbc', 2)
r(/a?/, 'bac', 3)
r(/a??/, 'bac', 3)
r(/abcde/, 'abcdeavcd', 0)
r(/\w\d\s/, ' a2 aa $3 ', 2)
r(/[c-f]aa[x-z]/, '3caaycaaa', 1)
r(/(?i:fG)g/, 'fGgFggFgG', 3)
r(/a|b/, 'b', 0)
r(/ab|bc|cd/, 'bcc', 0)
r(/(ffy)\1/, 'ffyffyffy', 3)
r(/|z/, 'z', 1)
r(/^az/, 'azaz', 0)
r(/az$/, 'azaz', 2)
r(/(((.a)))\3/, 'zazaaa', 0)
r(/(ac*?z)\1/, 'aacczacczacz', 1)
r(/aaz{3,4}/, 'bbaabbaazzzaazz', 6)
r(/\000a/, "b\000a", 1)
r(/ff\xfe/, "fff\xfe", 1)
r(/...abcdefghijklmnopqrstuvwxyz/, 'zzzzzabcdefghijklmnopqrstuvwxyz', 2)
end
def test_euc(enc)
$KCODE = enc
x(//, '<27><>', 0, 0)
x(/<EFBFBD><EFBFBD>/, '<27><>', 0, 2)
n(/<EFBFBD><EFBFBD>/, '<27><>')
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 70)
x(/<EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD>', 2, 4)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 2, 6)
x(/\xca\xb8/, "\xca\xb8", 0, 2)
x(/./, '<27><>', 0, 2)
x(/../, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/\w/, '<27><>', 0, 2)
n(/\W/, '<27><>')
x(/\S/, '<27><>', 0, 2)
x(/\S/, '<27><>', 0, 2)
x(/\b/, '<27><> ', 0, 0)
x(/\b/, ' <20><>', 1, 1)
x(/\B/, '<27><><EFBFBD><EFBFBD> ', 2, 2)
x(/\B/, '<27><> ', 3, 3)
x(/\B/, ' <20><>', 0, 0)
x(/[<5B><><EFBFBD><EFBFBD>]/, '<27><>', 0, 2)
n(/[<5B>ʤ<EFBFBD>]/, '<27><>')
x(/[<5B><>-<2D><>]/, '<27><>', 0, 2)
n(/[^<5E><>]/, '<27><>')
x(/[\w]/, '<27><>', 0, 2)
n(/[\d]/, '<27><>')
x(/[\D]/, '<27><>', 0, 2)
n(/[\s]/, '<27><>')
x(/[\S]/, '<27><>', 0, 2)
x(/[\w\d]/, '<27><>', 0, 2)
x(/[\w\d]/, ' <20><>', 3, 5)
#x(/[\xa4\xcf-\xa4\xd3]/, "\xa4\xd0", 0, 2) # diff spec with GNU regex.
#n(/[\xb6\xe7-\xb6\xef]/, "\xb6\xe5") # diff spec with GNU regex.
n(/\w<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, ' <20><><EFBFBD><EFBFBD>')
x(/<EFBFBD><EFBFBD>\W<EFBFBD><EFBFBD>/, '<27><> <20><>', 0, 5)
x(/<EFBFBD><EFBFBD>.<2E><>.<2E><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 10)
x(/.\w<EFBFBD><EFBFBD>\W..<2E><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 13)
x(/\s\w<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 9)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
n(/.<2E><>/, '<27><><EFBFBD><EFBFBD>')
x(/.<2E><>/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/^<5E><>/, '<27><>', 0, 2)
x(/^<5E><>$/, '<27><>', 0, 2)
x(/^\w$/, '<27><>', 0, 2)
x(/^\w<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$/, 'z<><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 11)
x(/^\w...<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$/, 'z<><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 13)
x(/\w\w\s\W<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\d/, 'a<><61> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4', 0, 12)
x(/\A<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\Z/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\z/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\Z/, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", 0, 6)
x(/\G<EFBFBD>ݤ<EFBFBD>/, '<27>ݤ<EFBFBD>', 0, 4)
n(/\G<EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
n(/<EFBFBD>Ȥ<EFBFBD>\G/, '<27>Ȥ<EFBFBD>')
n(/<EFBFBD>ޤ<EFBFBD>\A/, '<27>ޤ<EFBFBD>')
n(/<EFBFBD><EFBFBD>\A<EFBFBD><EFBFBD>/, '<27>ޤ<EFBFBD>')
x(/(?=<3D><>)<29><>/, '<27><>', 0, 2)
n(/(?=<3D><>)./, '<27><>')
x(/(?!<21><>)<29><>/, '<27><>', 0, 2)
n(/(?!<21><>)<29><>/, '<27><>')
x(/(?i:<3A><>)/, '<27><>', 0, 2)
x(/(?i:<3A>֤<EFBFBD>)/, '<27>֤<EFBFBD>', 0, 4)
n(/(?i:<3A><>)/, '<27><>')
x(/(?m:<3A><>.)/, "<EFBFBD><EFBFBD>\n", 0, 3)
x(/(?m:.<2E><>)/, "<EFBFBD><EFBFBD>\n<EFBFBD><EFBFBD>", 2, 5)
x(/<EFBFBD><EFBFBD>?/, '', 0, 0)
x(/<EFBFBD><EFBFBD>?/, '<27><>', 0, 0)
x(/<EFBFBD><EFBFBD>?/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD>*/, '', 0, 0)
x(/<EFBFBD><EFBFBD>*/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD>*/, '<27>һһ<D2BB>', 0, 6)
x(/<EFBFBD><EFBFBD>*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 0)
n(/<EFBFBD><EFBFBD>+/, '')
x(/<EFBFBD><EFBFBD>+/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD>+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
x(/<EFBFBD><EFBFBD>+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD>+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 2, 10)
x(/.?/, '<27><>', 0, 2)
x(/.*/, '<27>ѤԤפ<D4A4>', 0, 8)
x(/.+/, '<27><>', 0, 2)
x(/.+/, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", 0, 8)
x(/<EFBFBD><EFBFBD>|<7C><>/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD>|<7C><>/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD>(?:<3A><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)/, '<27>򤫤<EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD>(?:<3A><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)<29><>/, '<27>򤭤<EFBFBD><F2A4ADA4><EFBFBD>', 0, 8)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|(?:<3A><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD>|<7C><>|<7C><>/, '<27><><EFBFBD><EFBFBD>', 2, 4)
x(/<EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD>|<7C>ĤƤȤʤ<C8A4>|<7C>̤<EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
n(/<EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD>|<7C>ĤƤȤʤ<C8A4>|<7C>̤<EFBFBD>/, '<27><><EFBFBD><EFBFBD>')
x(/<EFBFBD><EFBFBD>|^<5E><>/, '<27>֤<EFBFBD>', 2, 4)
x(/<EFBFBD><EFBFBD>|^<5E><>/, '<27><><EFBFBD><EFBFBD>', 0, 2)
x(/<EFBFBD><EFBFBD>|\G<EFBFBD><EFBFBD>/, '<27><><EFBFBD>ֵ<EFBFBD>', 4, 6)
x(/<EFBFBD><EFBFBD>|\G<EFBFBD><EFBFBD>/, '<27>ֵ<EFBFBD>', 0, 2)
x(/<EFBFBD><EFBFBD>|\A<EFBFBD><EFBFBD>/, 'b<>ֵ<EFBFBD>', 3, 5)
x(/<EFBFBD><EFBFBD>|\A<EFBFBD><EFBFBD>/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD>|<7C><>\Z/, '<27>ֵ<EFBFBD>', 2, 4)
x(/<EFBFBD><EFBFBD>|<7C><>\Z/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD>|<7C><>\Z/, "<EFBFBD><EFBFBD>\n", 0, 2)
x(/<EFBFBD><EFBFBD>|<7C><>\z/, '<27>ֵ<EFBFBD>', 2, 4)
x(/<EFBFBD><EFBFBD>|<7C><>\z/, '<27><>', 0, 2)
x(/\w|\s/, '<27><>', 0, 2)
x(/\w|%/, '%<25><>', 0, 1)
x(/\w|[&$]/, '<27><>&', 0, 2)
x(/[<5B><>-<2D><>]/, '<27><>', 0, 2)
x(/[<5B><>-<2D><>]|[^<5E><>-<2D><>]/, '<27><>', 0, 2)
x(/[<5B><>-<2D><>]|[^<5E><>-<2D><>]/, '<27><>', 0, 2)
x(/(?:<3A><>|[<5B><>-<2D><>])|<7C><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD>', 0, 2)
x(/(?:<3A><>|[<5B><>-<2D><>])|<7C><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|(?=<3D><><EFBFBD><EFBFBD>)..<2E><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|(?!<21><><EFBFBD><EFBFBD>)..<2E><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/(?=<3D><><EFBFBD><EFBFBD>)..<2E><>|(?=<3D><><EFBFBD><EFBFBD>)..<2E><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/(?<=<3D><>|<7C><><EFBFBD><EFBFBD>)<29><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 4, 6)
n(/(?><3E><>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
x(/(?><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><>)<29><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
x(/<EFBFBD><EFBFBD>?|<7C><>/, '<27><>', 0, 2)
x(/<EFBFBD><EFBFBD>?|<7C><>/, '<27><>', 0, 0)
x(/<EFBFBD><EFBFBD>?|<7C><>/, '', 0, 0)
x(/<EFBFBD><EFBFBD>*|<7C><>/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD>*|<7C><>*/, '<27><><EFBFBD><EFBFBD>', 0, 0)
x(/<EFBFBD><EFBFBD>*|<7C><>*/, '<27><><EFBFBD><EFBFBD>', 0, 2)
x(/[a<><61>]*|<7C><>*/, 'a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 3)
x(/<EFBFBD><EFBFBD>+|<7C><>*/, '', 0, 0)
x(/<EFBFBD><EFBFBD>+|<7C><>*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD>+|<7C><>*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2)
x(/<EFBFBD><EFBFBD>+|<7C><>*/, 'a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 0)
n(/<EFBFBD><EFBFBD>+|<7C><>+/, '')
x(/(<28><>|<7C><>)?/, '<27><>', 0, 2)
x(/(<28><>|<7C><>)*/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/(<28><>|<7C><>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/(<28><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
x(/(<28><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 4, 12)
x(/(<28><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 2, 10)
x(/(<28><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD>򤦤<EFBFBD>', 0, 4)
x(/(<28><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>)+/, '$$zzzz<7A><7A><EFBFBD><EFBFBD><EFBFBD>򤦤<EFBFBD>', 6, 10)
x(/(<28><>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 10)
x(/(<28><>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD>', 2, 4)
x(/(<28><>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 2, 8)
x(/(?:<3A><>|<7C><>)(?:<3A><>|<7C><>)/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/(?:<3A><>*|<7C><>*)(?:<3A><>*|<7C><>*)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/(?:<3A><>*|<7C><>*)(?:<3A><>+|<7C><>+)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 12)
x(/(?:<3A><>+|<7C><>+){2}/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 12)
x(/(?:<3A><>+|<7C><>+){1,2}/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 12)
x(/(?:<3A><>+|\A<EFBFBD><EFBFBD>*)<29><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD>', 0, 4)
n(/(?:<3A><>+|\A<EFBFBD><EFBFBD>*)<29><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
x(/(?:^<5E><>+|<7C><>+)*<2A><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 12, 16)
x(/(?:^<5E><>+|<7C><>+)*<2A><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 14)
x(/<EFBFBD><EFBFBD>{0,}/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
x(/<EFBFBD><EFBFBD>|(?i)c/, 'C', 0, 1)
x(/(?i)c|<7C><>/, 'C', 0, 1)
x(/(?i:<3A><>)|a/, 'a', 0, 1)
n(/(?i:<3A><>)|a/, 'A')
x(/[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]?/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2)
x(/[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 0)
n(/[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
x(/<EFBFBD><EFBFBD>??/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 0)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>??<3F><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6)
x(/<EFBFBD><EFBFBD>*?/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 0)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*?/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*?<3F><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
x(/<EFBFBD><EFBFBD>+?/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+?/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 4)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+?<3F><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
x(/(?:ŷ?)??/, 'ŷ', 0, 0)
x(/(?:ŷ??)?/, 'ŷ', 0, 0)
x(/(?:̴?)+?/, '̴̴̴', 0, 2)
x(/(?:<3A><>+)??/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 0)
x(/(?:<3A><>+)??<3F><>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
i(/(?:<3A><><EFBFBD><EFBFBD>)?{2}/, '', 0, 0) # GNU regex bug
x(/(?:<3A><><EFBFBD><EFBFBD>)?{2}/, '<27><><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD>', 0, 8)
x(/(?:<3A><><EFBFBD><EFBFBD>)*{0}/, '<27><><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD>', 0, 0)
x(/(?:<3A><><EFBFBD><EFBFBD>){3,}/, '<27><><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD>', 0, 16)
n(/(?:<3A><><EFBFBD><EFBFBD>){3,}/, '<27><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>')
x(/(?:<3A><><EFBFBD><EFBFBD>){2,4}/, '<27><><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD>', 0, 12)
x(/(?:<3A><><EFBFBD><EFBFBD>){2,4}/, '<27><><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD>', 0, 16)
x(/(?:<3A><><EFBFBD><EFBFBD>){2,4}?/, '<27><><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD>', 0, 8)
x(/(?:<3A><><EFBFBD><EFBFBD>){,}/, '<27><><EFBFBD><EFBFBD>{,}', 0, 7)
x(/(?:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+?{2}/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 12)
x(/(<28><>)/, '<27><>', 0, 2, 1)
x(/(<28>п<EFBFBD>)/, '<27>п<EFBFBD>', 0, 4, 1)
x(/((<28><><EFBFBD><EFBFBD>))/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/((<28><><EFBFBD><EFBFBD>))/, '<27><><EFBFBD><EFBFBD>', 0, 4, 1)
x(/((<28><><EFBFBD><EFBFBD>))/, '<27><><EFBFBD><EFBFBD>', 0, 4, 2)
x(/((((((((((((((((((((<28>̻<EFBFBD>))))))))))))))))))))/, '<27>̻<EFBFBD>', 0, 4, 20)
x(/(<28><><EFBFBD><EFBFBD>)(<28><><EFBFBD><EFBFBD>)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 4, 1)
x(/(<28><><EFBFBD><EFBFBD>)(<28><><EFBFBD><EFBFBD>)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 4, 8, 2)
x(/()(<28><>)<29><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 6, 12, 3)
x(/(()(<28><>)<29><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 6, 12, 4)
x(/.*(<28>ե<EFBFBD>)<29>󡦥<EFBFBD>(<28><>()<29><><EFBFBD>奿)<29><><EFBFBD><EFBFBD>/, '<27>ե<EFBFBD><D5A5>󡦥ޥ󥷥奿<F3A5B7A5><E5A5BF><EFBFBD><EFBFBD>', 10, 18, 2)
x(/(^<5E><>)/, '<27><>', 0, 2)
x(/(<28><>)|(<28><>)/, '<27><><EFBFBD><EFBFBD>', 2, 4, 1)
x(/(^<5E><>)|(<28><>)/, '<27><><EFBFBD><EFBFBD>', 2, 4, 2)
x(/(<28><>?)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2, 1)
x(/(<28><>*)/, '<27>ޤޤ<DEA4>', 0, 6, 1)
x(/(<28><>*)/, '', 0, 0, 1)
x(/(<28><>+)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 14, 1)
x(/(<28><>+|<7C><>*)/, '<27>դդդؤ<D5A4>', 0, 6, 1)
x(/(<28><>+|<7C><>?)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2, 1)
x(/(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)?/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6, 1)
x(/(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6, 1)
x(/(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6, 1)
x(/(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6, 1)
x(/([<5B>ʤˤ<CAA4>][<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6, 1)
x(/((?i:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>))/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 6, 1)
x(/((?m:<3A><>.<2E><>))/, "<EFBFBD><EFBFBD>\n<EFBFBD><EFBFBD>", 0, 5, 1)
x(/((?=<3D><><EFBFBD><EFBFBD>)<29><>)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2, 1)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|(.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)/, '<27>󤢤<EFBFBD><F3A4A2A4><EFBFBD>', 0, 8, 1)
x(/<EFBFBD><EFBFBD>*(.)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 8, 10, 1)
x(/<EFBFBD><EFBFBD>*?(.)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 2, 1)
x(/<EFBFBD><EFBFBD>*?(<28><>)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 8, 10, 1)
x(/[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<5D><>*(.)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 10, 12, 1)
x(/(\A<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 4, 1)
n(/(\A<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>/, '<27>󤤤<EFBFBD><F3A4A4A4><EFBFBD><EFBFBD><EFBFBD>')
x(/(^<5E><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 4, 1)
n(/(^<5E><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>/, '<27>󤤤<EFBFBD><F3A4A4A4><EFBFBD><EFBFBD><EFBFBD>')
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>$)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 4, 8, 1)
n(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>$)/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
x(/(̵)\1/, '̵̵', 0, 4)
n(/(̵)\1/, <><CCB5>')
x(/(<28><>?)\1/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/(<28><>??)\1/, '<27><><EFBFBD><EFBFBD>', 0, 0)
x(/(<28><>*)\1/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 8)
x(/(<28><>*)\1/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 4, 1)
x(/<EFBFBD><EFBFBD>(<28><>*)\1/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 10)
x(/<EFBFBD><EFBFBD>(<28><>*)\1/, '<27><><EFBFBD><EFBFBD>', 0, 2)
x(/(<28><>*)(<28><>*)\1\2/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 20)
x(/(<28><>*)(<28><>*)\2/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 14)
x(/(<28><>*)(<28><>*)\2/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 6, 10, 2)
x(/(((((((<28><>*)<29><>))))))<29><>\7/, '<27>ݤݤݤڤԤݤݤ<DDA4>', 0, 16)
x(/(((((((<28><>*)<29><>))))))<29><>\7/, '<27>ݤݤݤڤԤݤݤ<DDA4>', 0, 6, 7)
x(/(<28><>)(<28><>)(<28><>)\2\1\3/, '<27>ϤҤդҤϤ<D2A4>', 0, 12)
x(/([<5B><>-<2D><>])\1/, '<27><><EFBFBD><EFBFBD>', 0, 4)
x(/(\w\d\s)\1/, '<27><>5 <20><>5 ', 0, 8)
n(/(\w\d\s)\1/, '<27><>5 <20><>5')
x(/<><C3AF>|[<5B><>-<2D><>]{3})\1/, <><C3AF>ï<EFBFBD><C3AF>', 0, 8)
x(/...(ï<><C3AF>|[<5B><>-<2D><>]{3})\1/, '<27><>a<EFBFBD><61>ï<EFBFBD><C3AF>ï<EFBFBD><C3AF>', 0, 13)
x(/<><C3AF>|[<5B><>-<2D><>]{3})\1/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0, 12)
x(/(^<5E><>)\1/, '<27><><EFBFBD><EFBFBD>', 0, 4)
n(/(^<5E><>)\1/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')
n(/(<28><>$)\1/, '<27><><EFBFBD><EFBFBD>')
n(/(<28><><EFBFBD><EFBFBD>\Z)\1/, '<27><><EFBFBD><EFBFBD>')
x(/(<28><>*\Z)\1/, '<27><>', 2, 2)
x(/.(<28><>*\Z)\1/, '<27><><EFBFBD><EFBFBD>', 2, 4)
x(/(.(<28><EFBFBD><E4A4A4>)\2)/, 'z<><EFBFBD><E4A4A4><EFBFBD><EFBFBD><E4A4A4>', 0, 13, 1)
x(/(.(..\d.)\2)/, '<27><>12341234', 0, 10, 1)
x(/((?i:<3A><>v<EFBFBD><76>))\1/, '<27><>v<EFBFBD><76><EFBFBD><EFBFBD>v<EFBFBD><76>', 0, 10)
x(/(?<<3C><><EFBFBD><EFBFBD>><3E><>|\(\g<<3C><><EFBFBD><EFBFBD>>\))/, '((((((<28><>))))))', 0, 14)
x(/\A(?:\g<<3C><>-1>|\g<<3C><>-2>|\z<EFBFBD><EFBFBD>λ (?<<3C><>-1><3E><>|<7C><>\g<<3C><>-2><3E><>)(?<<3C><>-2><3E><>|<7C>\g<<3C><>-1><3E>))$/, '<27><EFBFBD><EEBBA7><EFBFBD><EFBFBD><EEBBA7><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EEBBA7><EFBFBD>', 0, 26)
x(/[[<5B>Ҥ<EFBFBD>]]/, '<27><>', 0, 2)
x(/[[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<5D><>]/, '<27><>', 0, 2)
n(/[[^<5E><>]]/, '<27><>')
n(/[^[<5B><>]]/, '<27><>')
x(/[^[^<5E><>]]/, '<27><>', 0, 2)
x(/[[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&<26><><EFBFBD><EFBFBD>]/, '<27><>', 0, 2)
n(/[[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&<26><><EFBFBD><EFBFBD>]/, '<27><>')
n(/[[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&<26><><EFBFBD><EFBFBD>]/, '<27><>')
x(/[<5B><>-<2D><>&&<26><>-<2D><>&&<26><>-<2D><>]/, '<27><>', 0, 2)
n(/[^<5E><>-<2D><>&&<26><>-<2D><>&&<26><>-<2D><>]/, '<27><>')
x(/[[^<5E><>&&<26><>]&&<26><>-<2D><>]/, '<27><>', 0, 2)
n(/[[^<5E><>&&<26><>]&&<26><>-<2D><>]/, '<27><>')
x(/[[^<5E><>-<2D><>&&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^<5E><>-<2D><>]]/, '<27><>', 0, 2)
n(/[[^<5E><>-<2D><>&&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^<5E><>-<2D><>]]/, '<27><>')
x(/[^[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]]/, '<27><>', 0, 2)
x(/[^[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]]/, '<27><>', 0, 2)
n(/[^[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]]/, '<27><>')
x(/[<5B><>-&&-<2D><>]/, '-', 0, 1)
x(/[^[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^bcdefg<66><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]q-w]/, '<27><>', 0, 2)
x(/[^[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^bcdefg<66><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]g-w]/, 'f', 0, 1)
x(/[^[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^bcdefg<66><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]g-w]/, 'g', 0, 1)
n(/[^[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]&&[^bcdefg<66><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]g-w]/, '2')
r(/<EFBFBD><EFBFBD>/, '<27><>', 0)
r(/<EFBFBD><EFBFBD>/, '<27><>', 0, 2)
r(/<EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 2)
r(/<EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 2, 4)
r(/./, '<27><>', 0)
r(/.*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 17)
r(/.*<2A><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 6)
r(/<EFBFBD><EFBFBD>*/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 12)
r(/<EFBFBD><EFBFBD>+/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 4)
r(/<EFBFBD><EFBFBD>?/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 6)
r(/<EFBFBD><EFBFBD>??/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 6)
r(/a<EFBFBD><EFBFBD>c<EFBFBD><EFBFBD>e/, 'a<><61>c<EFBFBD><63>eavcd', 0)
r(/\w\d\s/, ' <20><>2 <20><><EFBFBD><EFBFBD> $3 ', 2)
r(/[<5B><>-<2D><>]<5D><><EFBFBD><EFBFBD>[<5B><>-<2D><>]/, '3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 1)
r(/<EFBFBD><EFBFBD>|<7C><>/, '<27><>', 0)
r(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0)
r(/(<28>ȤȤ<C8A4>)\1/, '<27>ȤȤ<C8A4><C8A4>ȤȤ<C8A4><C8A4>ȤȤ<C8A4>', 6)
r(/|<7C><>/, '<27><>', 2)
r(/^<5E><><EFBFBD><EFBFBD>/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0)
r(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>$/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 4)
r(/(((.<2E><>)))\3/, 'z<><7A>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 0)
r(/(<28><><EFBFBD><EFBFBD>*?<3F><>)\1/, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󤢤<EFBFBD><F3A4A2A4><EFBFBD><EFBFBD>󤢤<EFBFBD><F3A4A2A4><EFBFBD>', 2)
r(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{3,4}/, '<27>ƤƤ<C6A4><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󤢤<EFBFBD><F3A4A2A4>󤢤<EFBFBD><F3A4A2A4><EFBFBD>', 12)
r(/\000<EFBFBD><EFBFBD>/, "<EFBFBD><EFBFBD>\000<EFBFBD><EFBFBD>", 2)
r(/<EFBFBD>Ȥ<EFBFBD>\xfe\xfe/, "<EFBFBD>ȤȤ<EFBFBD>\xfe\xfe", 2)
r(/...<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, 'zzzzz<7A><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 2)
end
test_sb('ASCII')
test_sb('EUC')
test_sb('SJIS')
test_sb('UTF8')
test_euc('EUC')
# UTF-8 (by UENO Katsuhiro)
$KCODE = 'UTF-8'
s = "\xe3\x81\x82\xe3\x81\x81\xf0\x90\x80\x85\xe3\x81\x8a\xe3\x81\x85"
x(/[\xc2\x80-\xed\x9f\xbf]+/u, s, 0, 6)
s = "\xf0\x90\x80\x85\xe3\x81\x82"
x(/[\xc2\x80-\xed\x9f\xbf]/u, s, 4, 7)
s = "\xed\x9f\xbf"
n(/[\xc2\x80-\xed\x9f\xbe]/u, s)
s = "\xed\x9f\xbf"
n(/[\xc2\x80-\xed\x9f\xbe]/u, s)
s = "\xed\x9f\xbf"
n(/[\xc2\x80-\xed\x9f\xbe]/u, s)
s = "\xed\x9f\xbf"
n(/[\xc3\xad\xed\x9f\xbe]/u, s)
s = "\xed\x9f\xbf"
n(/[\xc4\x80-\xed\x9f\xbe]/u, s)
s = "\xed\x9f\xbf\xf0\x90\x80\x85\xed\x9f\xbf"
x(/[^\xc2\x80-\xed\x9f\xbe]/u, s, 0, 3)
s = "\xed\x9f\xbf"
x(/[^\xc3\xad\xed\x9f\xbe]/u, s, 0, 3)
s = "\xed\x9f\xbf\xf0\x90\x80\x85\xed\x9f\xbf"
x(/[^\xc4\x80-\xed\x9f\xbe]/u, s, 0, 3)
s = "\xc3\xbe\xc3\xbf"
n(/[\xfe\xff\xc3\x80]/u, s)
# Japanese long text.
$KCODE = 'EUC'
s = <<EOS
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܤˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥϡ<EFBFBD><EFBFBD><EFBFBD>ˤĤ<EFBFBD><EFBFBD>Ƥ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD>Ť<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>Ȭǯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD>ä<EFBFBD>ǯ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƷڹ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ε<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD>
ͭ̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤȤ<EFBFBD><EFBFBD>Ƥϡ<EFBFBD><EFBFBD>Ρ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><EFBFBD><EFBFBD>󤲤<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʼƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȭ <EFBFBD><EFBFBD>ͭ<EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD> <EFBFBD><EFBFBD>ë<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1998)
EOS
x(/\((.+)\)/, s, 305, 309, 1)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ/, s, 229, 239)
x(/<EFBFBD><EFBFBD>$/, s, 202, 204)
x(/(^ʼƣ..Ȭ)/, s, 269, 279, 1)
x(/^$/, s, 268, 268)
s = <<EOS
<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޻<EFBFBD><EFBFBD>ϰ<EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤФ򤷤<EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>ȤФ򤷤<EFBFBD><EFBFBD><EFBFBD>ΤǤϤʤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ܤ<EFBFBD>book<EFBFBD>Ϥ<EFBFBD><EFBFBD>ȤФǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۥ<EFBFBD><EFBFBD><EFBFBD>hon<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD>ΤǤϤʤ<EFBFBD><EFBFBD><EFBFBD>
ñ<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>η<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>⤿<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>
<EFBFBD>ַ<EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פ򥢥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>ʰ<EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Τʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>ǤϤ<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>ΤǤ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD>á<EFBFBD>
EOS
n(/\((.+)\)/, s)
x(/<EFBFBD><EFBFBD>(.*)<29><>/, s, 254, 264, 1)
x(/<EFBFBD><EFBFBD>$/, s, 34, 36)
x(/(book)/, s, 120, 124, 1)
x(/^$/, s, 360, 360)
s = <<EOS
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>Ӥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̩<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>̤ȡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD>ι<EFBFBD>ˤ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>γмԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>ʶä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĤΤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω<EFBFBD>ä<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ݡ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤξ<EFBFBD>ǯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǤϤʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ <EFBFBD>ֱû<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤդ<EFBFBD><EFBFBD>Ĥġ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(1986)
EOS
x(/\((.+)\)/, s, 290, 296)
x(/<EFBFBD><EFBFBD>(.*)<29><>(.+)<29><>/, s, 257, 275, 2)
x(/^<5E>ݡ<EFBFBD> /, s, 179, 184)
x(/(<28><><EFBFBD><EFBFBD>)/, s, 0, 4, 1)
x(/\w<EFBFBD><EFBFBD>/, s, 30, 34)
s = <<EOS
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>äơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD>ͤο<EFBFBD>ʪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ򡢤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD>¤<EFBFBD>ʪ<EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ФƤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>񤯤Ҥޤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ΤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>áפ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>Ȭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ФĤŤ<EFBFBD><EFBFBD>Ƥ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤˤĤ<EFBFBD><EFBFBD>Ƥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ֤<EFBFBD><EFBFBD>ߤʤۤɤγο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD><EFBFBD><EFBFBD>̳ǽ<EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD>ʪ<EFBFBD>Τ<EFBFBD>ʿ<EFBFBD>ʪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>©<EFBFBD>νФ<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤǤ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ <EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> (1961)
EOS
x(/\((\d+)\)/, s, 496, 502)
x(/(<28><>.+<2B><><EFBFBD><EFBFBD>.*<2A><>)/, s, 449, 479, 1)
x(/<EFBFBD><EFBFBD>(.)<29><>/, s, 96, 98, 1)
x(/<EFBFBD><EFBFBD>$/, s, 120, 122)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, s, 209, 217)
s = <<EOS
<EFBFBD>󽽸<EFBFBD><EFBFBD>ܤ<EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤β<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω<EFBFBD>Ƥ˿<EFBFBD><EFBFBD>Ť<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>Τϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>Ҥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󲰤<EFBFBD>Ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѱ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ή<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤȤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD>ʪ<EFBFBD>ǤϤʤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ƹͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>͢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ˶<EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤǤ<EFBFBD><EFBFBD>äˤʤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τϡ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ߾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>Ω<EFBFBD>ƾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD> <EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (2000)
EOS
x(/\((\d+)\)/, s, 506, 512)
x(/(<28><>.*<2A><>)/, s, 493, 505, 1)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, s, 292, 298)
s = <<EOS
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD>΢<EFBFBD>ˤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĥϡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ӥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ư<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>פǤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD>
ʼƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȭ <EFBFBD><EFBFBD>ͭ<EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD> <EFBFBD><EFBFBD>ë<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1998)
EOS
x(/\((\d+)\)/, s, 185, 191)
x(/(<28><>.*<2A><>)/, s, 108, 138, 1)
x(/^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/, s, 90, 96)
x(/^.*$/, s, 0, 58)
s = <<EOS
ɣ<EFBFBD>Ͽͤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥλ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥˤ<EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD>Ʀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򤿤<EFBFBD><EFBFBD>Ƥޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>Τ򤿤٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ʹ֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϥإ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӥ򤿤٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥˤ<EFBFBD><EFBFBD><EFBFBD>ڤ򤳤ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڤ<EFBFBD>ڤ<EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>Ƥ<EFBFBD>ɣ<EFBFBD><EFBFBD>Ⱦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǯ<EFBFBD><EFBFBD><EFBFBD>ˤʤ<EFBFBD><EFBFBD>ȡ<EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ؤä<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD>Ƥλ<EFBFBD>ʬ<EFBFBD>ΰ<EFBFBD><EFBFBD>ˤʤä<EFBFBD><EFBFBD><EFBFBD><EFBFBD>إ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӥˤϱ<EFBFBD><EFBFBD>򾯤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD>ܿ͡<EFBFBD> (1960)
EOS
x(/(ɣ<><C9A3><EFBFBD>Ƥλ<C6A4>ʬ<EFBFBD>ΰ줯<CEB0><EFBFBD><E9A4A4>)/, s, 357, 381, 1)
x(/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>$/, s, 140, 150)
x(/ <20>ʹ<EFBFBD>(.*)<29><>/, s, 157, 423, 1)
x(/<EFBFBD>إ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B><><EFBFBD>Ϥ<EFBFBD>]/, s, 165, 175)
s = <<EOS
<EFBFBD>ȤϤ<EFBFBD><EFBFBD>Ȥ<EFBFBD> <EFBFBD><EFBFBD>¢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ˵<EFBFBD><EFBFBD>̤Ȥ<EFBFBD> α<EFBFBD>֤ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>α<EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD> (1859)
EOS
x(/\((.+)\)/, s, 68, 74)
x(/<EFBFBD><EFBFBD>(.*)<29><>/, s, 59, 65, 1)
x(/^(<28><><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>)/, s, 48, 56, 1)
# result
printf("\n*** Result SUCCESS: %d, FAIL: %d ***\n", $rok, $rfail)
# END.