1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-09-28 19:05:55 +08:00
ULib/tests/ulib/ok/pcre.ok
2015-02-20 20:46:04 +01:00

2603 lines
34 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/ ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x
1: ab c
0: *** Failers
0: abc
0: ab cde
/ abc\Q abc\Eabc/x
1: abc abcabc
0: *** Failers
0: abcabcabc
/ /g
0: abc
/"([^\\"]+|\\.)*"/
0: the \"quick\" brown fox
0: \"the \\\"quick\\\" brown fox\"
/$(?<=^(a))/
1: a
/$/
1: abc
/$/i
1: ABC
/$b/
/$b/i
0: *** Failers
0: A]C
0: B
/( \( )? [^()]+ (?(1) \) ) /x
1: abcd
1: (abcd)
1: the quick (abcd) fox
1: (abcd
/( \( )? [^()]+ (?(1) \) |) /x
1: abcd
1: (abcd)
1: the quick (abcd) fox
1: (abcd
/((((((((((a))))))))))/
1: a
/((((((((((a))))))))))/i
1: A
/((((((((((a))))))))))\10/
1: aa
/((((((((((a))))))))))\10/i
1: AA
/(((((((((a)))))))))/
1: a
/(((((((((a)))))))))/i
1: A
/((.*))\d+\1/
1: abc123abc
1: abc123bc
/((?-i)a)b/i
/((?-i:a))b/i
1: aB
/((?-i:a.))b/i
0: *** Failers
0: AB
0: a\nB
/((?>)+|A)*/
1: ZABCDEFG
/((?>Z)+|A)*/
1: ZABCDEFG
/((?>[^()]+)|\([^()]*\))+/
1: ((abc(ade)ufh()()x
/((?>\d+))(\w)/
1: 12345a
0: *** Failers
0: 12345+
/((?>a*?))*/
1: a
1: aaaaa
1:
1: a
1: b
1: ababab
1: aaaabcde
1: bbbb
1:
1: b
1: bbbb
1: aaa
1:
1: cccc
1: abab
1:
1: a
1: aaaa
1:
1: a
1: b
1: abab
1: baba
1:
1: b
1: bbbb
1: aaa
1:
1: c
1: cccc
1: baba
1:
1: a
1: aaabcde
1:
1: aaaaa
1: aabbaa
1:
1: aaaaa
1: aabbaa
/((?>a+)b)/
1: aaab
/((?i)AB(?-i)C|D)E/
1: abCE
1: DE
0: *** Failers
0: abcE
0: abCe
0: dE
0: De
/((?i)a)b/
/((?i)blah)\s+(?i:\1)/
1: blah blah
1: BLAH BLAH
1: Blah Blah
1: blaH blaH
1: blah BLAH
1: Blah blah
1: blaH blah
/((?i)blah)\s+\1/
1: blah blah
1: BLAH BLAH
1: Blah Blah
1: blaH blaH
0: *** Failers
0: blah BLAH
0: Blah blah
0: blaH blah
/((?i:a))b/
/((?m)^b$)/
0: a\nb\nc\n
/((?m)^b)/
0: a\nb\nc\n
/((?s).)c(?!.)/
0: a\nb\nc\n
0: a\nb\nc\n
/((?s)^a(.))((?m)^b$)/
0: a\nb\nc\n
/((?s)b.)c(?!.)/
0: a\nb\nc\n
0: a\nb\nc\n
/((?s-i:a.))b/i
0: a\nB
/((?x)x y z | a b c)/
1: XabcY
1: AxyzB
/((Z)+|A)*/
1: ZABCDEFG
/(([a-c])b*?\2)*/
1: ababbbcbc
/(([a-c])b*?\2){3}/
1: ababbbcbc
/((\3|b)\2(a)){2,}/
1: bbaababbabaaaaabbaaaabba
/((\3|b)\2(a)x)+/
1: aaaxabaxbaaxbbax
/((a)(b)c)(d)/
1: abcd
/((a)(b)c)(d)/i
1: ABCD
/((a))/
1: abc
/((a))/i
1: ABC
/((foo)|(bar))*/
1: foobar
/()(?(1)b|a)/
/()?(?(1)a|b)/
1: a
/()?(?(1)b|a)/
1: a
/()^b/
0: *** Failers
0: a\nb\nc\n
0: a\nb\nc\n
/()ef/
1: def
/()ef/i
1: DEF
/(.*)(\d*)/
1: I have 2 numbers: 53147
/(.*)(\d+)$/
1: I have 2 numbers: 53147
/(.*)\b(\d+)$/
1: I have 2 numbers: 53147
/(.*)\d+\1/
1: abc123abc
1: abc123bc
/(.*)\d+\1/s
1: abc123abc
1: abc123bc
/(.*)c(.*)/
1: abcde
/(.*)c(.*)/i
1: ABCDE
/(.*?)(\d*)/
1: I have 2 numbers: 53147
1:
1: I have 2 numbers: 53147
/(.*?)(\d+)$/
1: I have 2 numbers: 53147
/(.*?)(\d+)/
1: I have 2 numbers: 53147
/(.*X|^B)/
1: abcde\n1234Xyz
1: BarFoo
0: *** Failers
0: abcde\nBar
/(.*X|^B)/m
1: abcde\n1234Xyz
1: BarFoo
0: abcde\nBar
/(.*X|^B)/ms
1: abcde\n1234Xyz
1: BarFoo
0: abcde\nBar
/(.*X|^B)/s
1: abcde\n1234Xyz
1: BarFoo
0: *** Failers
0: abcde\nBar
/(.*\D)(\d+)$/
1: I have 2 numbers: 53147
/(>a+)ab/
/(?!\A)x/m
1: nxb\n
/(?!^)abc/
1: the abc
0: *** Failers
0: abc
/(?!^)x/m
1: nxb\n
/(?(?!a)b|a)/
1: a
/(?(?<!foo)cat|bar)/
1: foobar
1: cat
1: fcat
1: focat
0: *** Failers
0: foocat
/(?(?<=foo)bar|cat)/
1: foobar
1: cat
1: fcat
1: focat
0: *** Failers
0: foocat
/(?(?=a)a|b)/
1: a
/(?(?=a)b|a)/
0: *** Failers
0: a
0: a
/(?-i:a)b/i
0: *** Failers
0: Ab
0: AB
/(?:(?!foo)...|^.{0,2})bar(.*)/
1: foobar crowbar etc
1: barrel
1: 2barrel
1: A barrel
/(?:(?-i)a)b/i
0: *** Failers
0: Ab
0: AB
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
1: A
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
1: C
/(?:(?i)a)b/
0: *** Failers
0: cb
0: aB
/(?:(?s-i)more.*than).*million/i
1: more than million
1: more than MILLION
1: more \n than Million
0: *** Failers
0: MORE THAN MILLION
1: more \n than \n million
/(?:(a)|b)(?(1)A|B)/
1: aA
1: bB
0: *** Failers
0: aB
0: bA
/(?:(f)(o)(o)|(b)(a)(r))*/
1: foobar
/(?:..)*?a/
1: aba
/(?:..)*a/
1: aba
/(?:b)|(?::+)/
1: b::c
1: c::b
/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
1: cabbbb
/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
1: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
/(?<!(c|d))[ab]/
1: dbaacb
/(?<!(c|d))b/
/(?<![cd])[ab]/
1: dbaacb
/(?<![cd])b/
0: *** Failers
0: B\nB
0: dbcb
/(?<!bar)foo/
1: foo
1: catfood
1: arfootle
1: rfoosh
0: *** Failers
0: barfoo
0: towbarfoo
/(?<!c)b/
1: ab
1: b
1: b
/(?<!cd)[ab]/
1: cdaccb
/(?<=(?!...999)\d{3})foo/
1: 999foo
1: 123999foo
0: *** Failers
0: 123abcfoo
/(?<=(?<!foo)bar)baz/
1: barbaz
1: barbarbaz
1: koobarbaz
0: *** Failers
0: baz
0: foobarbaz
/(?<=(foo))bar\1/
0: 12-sep-98
0: 12-09-98
0: *** Failers
0: sep-12-98
0:
1: foobarfoo
1: foobarfootling
0: *** Failers
0: foobar
0: barfoo
/(?<=Z)X./
1: 84XAZXB
/(?<=\d{3}(?!999))foo/
1: 999foo
1: 123999foo
0: *** Failers
0: 123abcfoo
/(?<=\d{3}(?!999)...)foo/
1: 123abcfoo
1: 123456foo
0: *** Failers
0: 123999foo
/(?<=\d{3}...)(?<!999)foo/
1: 123abcfoo
1: 123456foo
0: *** Failers
0: 123999foo
/(?<=a(?i)b)(\w\w)c/
1: abxxc
1: aBxxc
0: *** Failers
0: Abxxc
0: ABxxc
0: abxxC
/(?<=a)b/
1: ab
0: *** Failers
0: cb
0: b
/(?<=foo\n)^bar/m
0: foo\nbar
0: *** Failers
0: bar
0: baz\nbar
/(?=(a+?))(\1ab)/
1: aaab
/(?=^)abc/
1: abc
0: *** Failers
0: the abc
/(?=a(?i)b)\w\wc/
1: abc
1: aBc
0: *** Failers
0: Ab
0: abC
0: aBC
/(?>(\.\d\d[1-9]?))\d+/
1: 1.230003938
1: 1.875000282
0: *** Failers
0: 1.235
/(?>(a+))b/
1: aaab
/(?>.*)(?<=(abcd|wxyz))/
1: alphabetabcd
1: endingwxyz
0: *** Failers
0: a rather long string that doesn't end with one of them
/(?>a*)*/
1: a
1: aa
1: aaaa
/(?>a+)b/
1: aaab
/(?>a+|b+|c+)*c/
1: aaabbbbccccd
/(?>b)+/
1: aaabbbccc
/(?i)AB(?-i)C/
1: XabCY
0: *** Failers
0: XabcY
/(?i)reg(?:ul(?:[a<>]|ae)r|ex)/
1: REGular
1: regulaer
1: Regex
1: regul<75>r
/(?i:a)b/
0: *** Failers
0: aB
0: aB
/(?i:saturday|sunday)/
1: saturday
1: sunday
1: Saturday
1: Sunday
1: SATURDAY
1: SUNDAY
1: SunDay
/(?m)^(b)/
0: a\nb\n
/(?m)^b/
0: a\nb\n
/(?ms)^.*B/
1: abc\nB
0:
1: abc\nB
/(?ms)^B/
0: abc\nB
/(?s)(.*X|^B)/
1: abcde\n1234Xyz
1: BarFoo
0: *** Failers
0: abcde\nBar
/(?s)B$/
0: B\n
/(?s)^.*B/
0: **** Failers
1: abc\nB
0:
1: abc\nB
/(?s)a.b/
0: a\nb
/(?s-i:more.*than).*million/i
1: more than million
1: more than MILLION
1: more \n than Million
0: *** Failers
0: MORE THAN MILLION
1: more \n than \n million
/(?s:.*X|^B)/
1: abcde\n1234Xyz
1: BarFoo
0: *** Failers
0: abcde\nBar
/(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/
1: ab c
0: *** Failers
0: abc
0: ab cde
/(AB)*?\1/
1: ABABAB
/(AB)*\1/
1: ABABAB
/(A|B)*?CD/
1: CD
/(A|B)*CD/
1: CD
/(Z(())|A)*/
1: ZABCDEFG
/(Z()|A)*/
1: ZABCDEFG
/([[.]+)/
1: a.[b].
/([[:]+)/
1: a:[b]:
/([[=]+)/
1: a=[b]=
/([\da-f:]+)$/i
1: 0abc
1: abc
1: fed
1: E
1: ::
1: 5f03:12C0::932e
1: fed def
1: Any old stuff
0: *** Failers
0: 0zzz
0: gzzz
1: fed\x20
0: Any old rubbish
/([\w:]+::)?(\w+)$/
1: abcd
1: xy:z:::abcd
1: *** Failers
0: abcd:
0: abcd:
/([^.]*)\.([^:]*):[T ]+(.*)/
1: track1.title:TBlah blah blah
/([^.]*)\.([^:]*):[T ]+(.*)/i
1: track1.title:TBlah blah blah
/([^.]*)\.([^:]*):[t ]+(.*)/i
1: track1.title:TBlah blah blah
/([a-c]*)\1/
1: abcabc
/([a-c]*)\1/i
1: ABCABC
/([abc])*bcd/
1: abcd
/([abc])*bcd/i
1: ABCD
/([abc])*d/
1: abbbcd
/([abc])*d/i
1: ABBBCD
/(\.\d\d((?=0)|\d(?=\d)))/
1: 1.230003938
1: 1.875000282
0: 1.235
0:
1: 1.230003938
1: 1.875000282
0: *** Failers
0: 1.235
/(\d+)(\w)/
1: 12345a
1: 12345+
/(\w+:)+/
1: one:
/(a b(?x)c d (?-x)e f)/
0: ab
0: Ab
0: *** Failers
0: aB
0: AB
0:
0: a bcd e
0: *** Failers
0: a b cd e
0: abcd e
0: a bcde
0:
1: a bcde f
0: *** Failers
0: abcdef
/(a(?i)b)c/
1: abc
1: aBc
0: *** Failers
0: abC
0: aBC
0: Abc
0: ABc
0: ABC
0: AbC
/(a(?i)bc|BB)x/
1: abcx
1: aBCx
1: bbx
1: BBx
0: *** Failers
0: abcX
0: aBCX
0: bbX
0: BBX
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\12\123/
1: abcdefghijkllS
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
0: abcdefghijk\12S
/(a)*ab/
1: cab
/(a)\1{8,}/
1: aaaaaaaaa
1: aaaaaaaaaa
0: *** Failers
0: aaaaaaa
/(a)b(c)/
1: abc
/(a)b(c)/i
1: ABC
/(a)|\1/
1: a
1: *** Failers
1: ab
0: x
/(a*)b+/
1: caab
/(a+)*b/
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
/(a+|b)*/
1: ab
/(a+|b)*/i
1: AB
/(a+|b)+/
1: ab
/(a+|b)+/i
1: AB
/(a+|b)?/
1: ab
/(a+|b)?/i
1: AB
/(a+|b){0,1}/
1: ab
/(a+|b){0,1}/i
1: AB
/(a+|b){0,1}?/i
1: AB
/(a+|b){0,}/
1: ab
/(a+|b){0,}/i
1: AB
/(a+|b){1,}/
1: ab
/(a+|b){1,}/i
1: AB
/(ab)\d\1/i
1: Ab4ab
1: ab4Ab
/(abc)[\1]de/
0: abc\1de
/(abc)\1/
1: abcabc
/(abc)\1/i
1: ABCABC
/(abc)\123/
0: abc\x53
/(abc)\223/
0: abc\x93
/(abc)\323/
0: abc\xd3
/(abc|)+/
1: abc
1: abcabc
1: abcabcabc
1: xyz
/(abc|)ef/
1: abcdef
/(abc|)ef/i
1: ABCDEF
/(ab|a)b*c/
1: abc
/(ab|a)b*c/i
1: ABC
/(ab|ab*)bc/
1: abc
/(ab|ab*)bc/i
1: ABC
/(ab|cd)e/
1: abcde
/(ab|cd)e/i
1: ABCDE
/(a|(bc)){0,0}?xyz/
1: xyz
/(a|b)c*d/
1: abcd
/(a|b)c*d/i
1: ABCD
/(a|b|c|d|e)f/
1: ef
/(a|b|c|d|e)f/i
1: EF
/(a|x)*ab/
1: cab
/(bc+d$|ef*g.|h?i(j|k))/
1: effgz
1: ij
1: reffgz
0: *** Failers
0: effg
0: bcdd
/(bc+d$|ef*g.|h?i(j|k))/i
1: EFFGZ
1: IJ
1: REFFGZ
0: *** Failers
0: ADCDCDE
0: EFFG
0: BCDD
/(cat(a(ract|tonic)|erpillar)) \1()2(3)/
/(x)?(?(1)a|b)/
0: *** Failers
0: a
0: a
/(x)?(?(1)b|a)/
1: a
/.*$/
1: borfle\nbib.gif\nno\n
/.*$/m
1: borfle\nbib.gif\nno\n
/.*$/ms
1: borfle\nbib.gif\nno\n
/.*$/s
1: borfle\nbib.gif\nno\n
/.*?/g+
1: abc
/.*\.gif/
1: borfle\nbib.gif\nno
/.*\.gif/m
1: borfle\nbib.gif\nno
/.*\.gif/ms
1: borfle\nbib.gif\nno
/.*\.gif/s
1: borfle\nbib.gif\nno
/.{0,}\.gif/
1: borfle\nbib.gif\nno
/.{1}/
1: abbbbc
/.{3,4}/
1: abbbbc
/:/
1: Well, we need a colon: somewhere
0: *** Fail if we don't
/A\x0{2,3}Z/
0: The A\x0\x0Z
0: An A\0\x0\0Z
0: *** Failers
0: A\0Z
0: A\0\x0\0\x0Z
/P[^*]TAIRE[^*]{1,6}?LL/
1: xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
/P[^*]TAIRE[^*]{1,}?LL/
1: xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
/The quick brown fox/i
1: the quick brown fox
1: The quick brown FOX
1: What do you know about the quick brown fox?
1: What do you know about THE QUICK BROWN FOX?
/[-az]+/
1: az-
1: *** Failers
0: b
/[\D]/
1: -
1: *** Failers
1: -
0: 1
/[\W]/
1: -
1: *** Failers
1: -
0: a
/[\d-]+/
1: 12-34
0: *** Failers
0: aaa
/[\d-z]+/
1: 12-34z
0: *** Failers
0: aaa
/[\d]/
1: 1
/[\w]/
1: a
/[\z\C]/
1: z
1: C
/[^a]+/i
1: AAAaAbc
0:
1: AAAaAbc
/[^a]/
1: aaaabcd
1: aaAabcd
/[^a]/i
1: aaaabcd
1: aaAabcd
/[^ab]*/
1: cde
/[^ab]*/i
1: CDE
/[^az]/
1: aaaabcd
1: aaAabcd
/[^az]/i
1: aaaabcd
1: aaAabcd
/[^k]{2,3}$/
1: bbb\nccc
0:
1: abc
1: *** Failers
1: abk
0:
1: abc
1: kbc
1: kabc
1: *** Failers
0: abk
0: akb
0: akk
/[a-zA-Z_][a-zA-Z0-9_]*/
1: alpha
/[a-zA-Z_][a-zA-Z0-9_]*/i
1: ALPHA
/[a-z]+/
1: abcdxyz
/[a\-z]+/
1: a-z
1: *** Failers
0: b
/[abhgefdc]ij/
1: hij
/[abhgefdc]ij/i
1: HIJ
/[az-]+/
1: za-
1: *** Failers
0: b
/[k]/i
/[z\Qa-d]\E]/
1: z
1: a
1: -
1: d
1: ]
1: *** Failers
0: b
/\((.*), (.*)\)/
1: (a, b)
/\((.*), (.*)\)/i
1: (A, B)
/\0*/
1: \0\0\0\0
/\A(.)*\Z/m
1: *** Failers
1: abc\ndef
/\A(.)*\Z/s
1: abc\ndef
/\A(abc|def)=(\1){2,3}\Z/
1: abc=abcabc
1: def=defdefdef
0: *** Failers
0: abc=defdef
/\Aabc\Z/m
1: abc
0: abc\n
0: *** Failers
0: qqq\nabc
0: abc\nzzz
0: qqq\nabc\nzzz
/\Aabc\z/m
0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
/\Ba\B/
1: *** Failers
0: a-
0: -a
0: -a-
/\By\B/
1: xyz
/\By\b/
1: xy
/\D/
1: -
1: *** Failers
1: -
0: 1
/\Gabc./g
1: abc1abc2xyzabc3
/\Gabc/
1: abc
0: *** Failers
0: xyzabc
/\M/
1: M
/\Qabc\$xyz\E/
0: abc\\\$xyz
/\Qabc\E\$\Qxyz\E/
0: abc\$xyz
/\W/
1: -
1: *** Failers
1: -
0: a
/\b(foo)\s+(\w+)/i
0: ab
0:
1: Food is on the foo table
/\b/+g
1: abc
/\b/g+
1: abc
/\ba\b/
1: a-
1: -a
1: -a-
/\by\B/
1: yz
/\by\b/
0: *** Failers
0: xy
0: yz
0: xyz
/\d/
1: 1
/\d\d\/\d\d\/\d\d\d\d/
1: 01/01/2000
/\n((?m)^b)/
0: a\nb\n
/\w+(?=\t)/
0: the quick brown\t fox
/\w/
1: a
/\w{3}(?<!bar)foo/
1: catfood
0: *** Failers
0: foo
0: barfoo
0: towbarfoo
/\x0{ab}/
0: \0{ab}
/\x20Z/
1: the Zoo
0: *** Failers
0: Zulu
/\x5c/
1: \\
/^ a\ b[c ]d $/x
1: a bcd
1: a b d
0: *** Failers
0: abcd
0: ab d
/^$/
0: \
0: *** Failers
/^((?>\w+)|(?>\s+))*$/
1: now is the time for all good men to come to the aid of the party
0: *** Failers
0: this is not a line with only words and spaces!
/^((a|b)+)*ax/
1: aax
/^((a|bc)+)*ax/
1: aax
/^(){3,5}/
1: abc
/^(.+)?B/
1: AB
/^(?!(ab)de|x)(abd)(f)/
1: abdf
/^(?(2)a|(1)(2))+$/
1: 12
1: 12a
1: 12aa
0: *** Failers
0: 1234
/^(?(?!abc)\d\d|\w{3}:)$/
1: abc:
1: 12
0: *** Failers
0: 123
0: xyz
/^(?(?=abc)\w{3}:|\d\d)$/
1: abc:
1: 12
0: *** Failers
0: 123
0: xyz
/^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
1: abcdefhijklm
/^(?:a?b?)*$/
0: *** Failers
0: dbcb
0: a--
/^(?:b|a(?=(.)))*\1/
1: abc
/^(?=(a+?))\1ab/
0: *** Failers
0: aaab
0: aaab
/^(?=(ab(cd)))(ab)/
1: abcd
/^(?=ab(de))(abd)(e)/
1: abde
/^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/
1: a
1: abc
1: a-b
0: 0-9
1: a.b
0: 5.6.7
1: the.quick.brown.fox
0: a100.b200.300c
0: 12-ab.1245
0: *** Failers
0: \
0: .a
0: -a
0: a-
0: a.
0: a_b
0: a.-
0: a..
0: ab..bc
0: the.quick.brown.fox-
0: the.quick.brown.fox.
0: the.quick.brown.fox_
0: the.quick.brown.fox+
/^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
1: abc!pqr=apquxz.ixr.zzz.ac.uk
0: *** Failers
0: !pqr=apquxz.ixr.zzz.ac.uk
0: abc!=apquxz.ixr.zzz.ac.uk
0: abc!pqr=apquxz:ixr.zzz.ac.uk
0: abc!pqr=apquxz.ixr.zzz.ac.ukk
/^([^a-z])|(\^)$/
1: .
/^([^a])([^\b])([^c]*)([^d]{3,4})/
1: baNOTccccd
1: baNOTcccd
1: baNOTccd
1: bacccd
1: *** Failers
0: anything
1: b\bc
0: baccd
/^([ab](?i)[cd]|[ef])/
1: ac
1: aC
1: bD
1: elephant
1: Europe
1: frog
1: France
0: *** Failers
0: Africa
/^(\()?blah(?(1)(\)))$/
1: (blah)
1: blah
0: *** Failers
0: a
0: blah)
0: (blah
/^(\(+)?blah(?(1)(\)))$/
1: (blah)
1: blah
0: *** Failers
0: blah)
0: (blah
/^(\D*)(?=\d)(?!123)/
0: ABC123
0:
1: ABC445
0: *** Failers
0: ABC123
/^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
1: 1 IN SOA non-sp1 non-sp2(
1: 1 IN SOA non-sp1 non-sp2 (
0: *** Failers
0: 1IN SOA non-sp1 non-sp2(
/^(a(?(1)\1)){4}$/
1: aaaaaaaaaa
0: *** Failers
0: aaaaaaaaa
0: aaaaaaaaaaa
/^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
1: abcdefhijklm
/^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\11*(\3\4)\1(?#)2$/
1: abcdefghijkcda2
1: abcdefghijkkkkcda2
/^(a)?(?(1)a|b)+$/
1: aa
1: b
0: bb
0: *** Failers
0: ab
/^(a)\1{2,3}(.)/
1: aaab
1: aaaab
1: aaaaab
1: aaaaaab
/^(a){0,0}/
1: bcd
1: abc
1: aab
/^(a){0,1}/
1: bcd
1: abc
1: aab
/^(a){0,2}/
1: bcd
1: abc
1: aab
/^(a){0,3}/
1: bcd
1: abc
1: aab
1: aaa
/^(a){0,}/
1: bcd
1: abc
1: aab
1: aaa
1: aaaaaaaa
/^(a){1,1}/
0: bcd
1: abc
1: aab
/^(a){1,2}/
0: bcd
1: abc
1: aab
/^(a){1,3}/
0: bcd
1: abc
1: aab
1: aaa
/^(a){1,}/
0: bcd
1: abc
1: aab
1: aaa
1: aaaaaaaa
/^(a+)*ax/
1: aax
/^(a\1?)(a\1?)(a\2?)(a\3?)$/
0: a
0: aa
0: aaa
1: aaaa
1: aaaaa
1: aaaaaa
1: aaaaaaa
0: aaaaaaaa
0: aaaaaaaaa
1: aaaaaaaaaa
0: aaaaaaaaaaa
0: aaaaaaaaaaaa
0: aaaaaaaaaaaaa
0: aaaaaaaaaaaaaa
0: aaaaaaaaaaaaaaa
0: aaaaaaaaaaaaaaaa
/^(a\1?){4}$/
1: aaaaaaaaaa
0: *** Failers
0: AB
0: aaaaaaaaa
0: aaaaaaaaaaa
/^(abc){1,2}zz/
1: abczz
1: abcabczz
0: *** Failers
0: zz
0: abcabcabczz
0: >>abczz
/^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
1: ab
1: aBd
1: xy
1: xY
1: zebra
1: Zambesi
0: *** Failers
0: aCD
0: XY
/^(ab|cd)e/
/^(ab|cd)e/i
0: ABCDE
/^(a|)\1*b/
1: ab
1: aaaab
1: b
0: *** Failers
0: acb
/^(a|)\1+b/
1: aab
1: aaaab
1: b
0: *** Failers
0: ab
/^(a|)\1?b/
1: ab
1: aab
1: b
0: *** Failers
0: acb
/^(a|)\1{2,3}b/
1: aaab
1: aaaab
1: b
0: *** Failers
0: ab
0: aab
0: aaaaab
/^(a|)\1{2}b/
1: aaab
1: b
0: *** Failers
0: ab
0: aab
0: aaaab
/^(a|b|c){12}/
1: abcabcabcabc
/^(b*|ba){1,2}?bc/
1: babc
1: bbabc
1: bababc
0: *** Failers
0: bababbc
0: babababc
/^(b+?|a){1,2}?c/
1: bac
1: bbac
1: bbbac
1: bbbbac
1: bbbbbac
/^(b+|a){1,2}?bc/
1: bbc
/^(b+|a){1,2}?c/
1: bac
1: bbac
1: bbbac
1: bbbbac
1: bbbbbac
/^(b+|a){1,2}c/
1: bc
1: bbc
1: bbbc
1: bac
1: bbac
1: aac
1: abbbbbbbbbbbc
1: bbbbbbbbbbbac
0: *** Failers
0: aaac
0: abbbbbbbbbbbac
/^(ba|b*){1,2}?bc/
1: babc
1: bbabc
1: bababc
0: *** Failers
0: bababbc
0: babababc
/^(cow|)\1(bell)/
1: cowcowbell
1: bell
0: *** Failers
0: cowbell
/^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
1: .1.2.3
1: A.12.123.0
0: *** Failers
0: .1.2.3333
0: 1.2.3
0: 1234.2.3
/^.*nter/
1: enter
1: inter
1: uponter
/^.+?[0-9][0-9][0-9]$/
1: x123
1: xx123
1: 123456
0: *** Failers
0: 123
1: x1234
/^.+[0-9][0-9][0-9]$/
1: x123
1: xx123
1: 123456
0: *** Failers
0: 123
1: x1234
/^/
1: abc
/^/i
1: ABC
/^12.34/s
0: 12\n34
0: 12\r34
/^1234 #comment in extended re
/x
1: 1234
/^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/
1: From abcd Mon Sep 01 12:33:02 1997
/^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
1: From abcd Mon Sep 01 12:33:02 1997
1: From abcd Mon Sep 1 12:33:02 1997
0: *** Failers
0: From abcd Sep 01 12:33:02 1997
/^[.^$|()*+?{,}]+/
1: .^\$(*+)|{?,?}
/^[0-9]+$/
1: 0
1: 1
1: 2
1: 3
1: 4
1: 5
1: 6
1: 7
1: 8
1: 9
1: 10
1: 100
0: *** Failers
0: abc
/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
1: 123456654321
/^[<>]&/
1: <&OUT
/^[W-\]46]/
1: W46]789
0: -46]789
0: *** Failers
1: Wall
1: Zebra
1: 42
1: [abcd]
1: ]abcd[
0:
1: W46]789
1: Wall
1: Zebra
1: Xylophone
1: 42
1: [abcd]
1: ]abcd[
1: \\backslash
0: *** Failers
0: -46]789
0: well
/^[W-c]+$/
1: WXY_^abc
0: *** Failers
0: wxy
/^[W-c]+$/i
1: WXY_^abc
1: wxy_^ABC
/^[\000-\037]/
0: \0A
0: \01B
0: \037C
/^[\d-a]/
1: abcde
1: -things
1: 0digit
0: *** Failers
0: bcdef
/^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
1: 123456654321
/^[\da-f](\.[\da-f])*$/i
1: a.b.c.d
1: A.B.C.D
1: a.b.c.1.2.3.C
/^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
0: a+ Z0+\x08\n\x1d\x12
/^[\x3f-\x5F]+$/i
1: WXY_^abc
1: wxy_^ABC
/^[]cde]/
1: ]thing
1: cthing
1: dthing
1: ething
0: *** Failers
0: athing
0: fthing
/^[^]cde]/
1: athing
1: fthing
1: *** Failers
0: ]thing
0: cthing
0: dthing
0: ething
/^[^ab\]cde]/
1: fthing
1: [thing
1: \\thing
1: *** Failers
0: athing
0: bthing
0: ]thing
0: cthing
0: dthing
0: ething
/^[^bcd]*(c+)/
1: aexycd
/^[a-c]{12}/
1: abcabcabcabc
/^[a-d]/
1: abcde
0: -things
0: 0digit
0: *** Failers
1: bcdef
/^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
1: a.
1: Z.
1: 2.
1: ab-c.pq-r.
1: sxk.zzz.ac.uk.
1: x-.y-.
0: *** Failers
0: -abc.peq.
/^[ab\]cde]/
1: athing
1: bthing
1: ]thing
1: cthing
1: dthing
1: ething
0: *** Failers
0: fthing
0: [thing
0: \\thing
/^[ab]{1,3}(ab*?|b)/
1: aabbbbb
/^[ab]{1,3}(ab*|b)/
1: aabbbbb
/^[ab]{1,3}?(ab*?|b)/
1: aabbbbb
/^[ab]{1,3}?(ab*|b)/
1: aabbbbb
/^[abc]{12}/
1: abcabcabcabc
/^[abcdefghijklmnopqrstuvwxy0123456789]/
1: n
0: *** Failers
0: z
/^[aeiou\d]{4,5}$/
1: uoie
1: 1234
1: 12345
1: aaaaa
0: *** Failers
0: 123456
/^[aeiou\d]{4,5}?/
1: uoie
1: 1234
1: 12345
1: aaaaa
1: 123456
/^\".*\"\s*(;.*)?$/
0: \"1234\"
0: \"abcd\" ;
0: \"\" ; rhubarb
0: *** Failers
0: \"1234\" : things
/^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
1: *.a
1: *.b0-a
1: *.c3-b.c
1: *.c-a.b-c
0: *** Failers
0: *.0
0: *.a-
0: *.a-b.c-
0: *.c-a.0-c
/^\ca\cA\c[\c{\c:/
0: \x01\x01\e;z
/^\d\d\d\d\d\d\d\d\d\d\d\d/
1: 123456654321
/^\d{8,}\@.+[^k]$/
0: 12345678\@a.b.c.d
0: 123456789\@x.y.z
0: *** Failers
0: 12345678\@x.y.uk
0: 1234567\@a.b.c.d
/^\d{8}\w{2,}/
1: 1234567890
1: 12345678ab
1: 12345678__
0: *** Failers
0: 1234567
/^\s/
0: \040abc
0: \x0cabc
0: \nabc
0: \rabc
0: \tabc
0: *** Failers
0: abc
/^\<5C>/
1: <20>
/^a b
c/x
1: abc
/^a (?#xxx) (?#yyy) {3}c/x
1: aaac
/^a(?#xxx){3}c/
1: aaac
/^a(bc+|b[eh])g|.h$/
1: abh
/^a(bc+|b[eh])g|.h$/i
1: ABH
/^a*?\w/
1: z
1: az
1: aaaz
1: a
1: aa
1: aaaa
1: a+
1: aa+
/^a*\w/
1: z
1: az
1: aaaz
1: a
1: aa
1: aaaa
1: a+
1: aa+
/^a+?\w/
1: az
1: aaaz
1: aa
1: aaaa
1: aa+
/^a+\w/
1: az
1: aaaz
1: aa
1: aaaa
1: aa+
/^a.b/
0: a\rb
0: *** Failers
0: a\nb
/^abc$/
/^abc$/i
/^abc$/m
1: abc
0: qqq\nabc
0: abc\nzzz
0: qqq\nabc\nzzz
/^abc/
1: abcc
/^abc/i
1: ABCC
/^abcd#rhubarb/x
1: abcd
/^xxx[0-9]+$/
1: xxx0
1: xxx1234
0: *** Failers
0: xxx
/^<5E>/
1: <20>
/a b/x
0: > \x09\x0a\x0c\x0d\x0b<
0:
0: > \x09\x0a\x0c\x0d\x0b<
0:
0: > \x09\x0a\x0c\x0d\x0b<
0:
0: > \x09\x0a\x0c\x0d\x0b<
0:
1: ab
/a(?!b)./
1: abad
/a(?:b|(c|e){1,2}?|d)+?(.)/
1: ace
/a(?:b|c|d)(.)/
1: ace
/a(?:b|c|d)*(.)/
1: ace
/a(?:b|c|d)+(.)/
1: acdbcdbe
/a(?:b|c|d)+?(.)/
1: ace
1: acdbcdbe
/a(?:b|c|d){2}(.)/
1: acdbcdbe
/a(?:b|c|d){4,5}(.)/
1: acdbcdbe
/a(?:b|c|d){4,5}?(.)/
1: acdbcdbe
/a(?:b|c|d){5,6}(.)/
1: acdbcdbe
/a(?:b|c|d){5,6}?(.)/
1: acdbcdbe
/a(?:b|c|d){5,7}(.)/
1: acdbcdbe
/a(?:b|c|d){5,7}?(.)/
1: acdbcdbe
/a(?:b|c|d){6,7}(.)/
1: acdbcdbe
/a(?:b|c|d){6,7}?(.)/
1: acdbcdbe
/a(?=b(?i)c)\w\wd/
1: abcd
1: abCd
0: *** Failers
0: aBCd
0: abcD
/a(?=c|d)./
1: abad
/a(?=d)./
1: abad
/a(?i:b)*c/
1: aBc
1: aBBc
0: *** Failers
0: aBC
0: aBBC
/a(?i:b)c/
1: abc
1: aBc
0: *** Failers
0: ABC
0: abC
0: aBC
/a(?x: b c )d/
1: XabcdY
0: *** Failers
0: Xa b c d Y
/a([bc]*)(c*d)/
1: abcd
/a([bc]*)(c*d)/i
1: ABCD
/a([bc]*)(c+d)/
1: abcd
/a([bc]*)(c+d)/i
1: ABCD
/a([bc]*)c*/
1: abc
/a([bc]*)c*/i
1: ABC
/a([bc]+)(c*d)/
1: abcd
/a([bc]+)(c*d)/i
1: ABCD
/a(b*)/
1: a
1: ab
1: abbbb
1: *** Failers
0: bbbbb
/a(bc)d/
1: abcd
/a(bc)d/i
1: ABCD
/a*/
/a*/g
1: abbab
/a*/i
/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
1: abxyzpqrrrabbxyyyypqAzz
1: abxyzpqrrrabbxyyyypqAzz
1: aabxyzpqrrrabbxyyyypqAzz
1: aaabxyzpqrrrabbxyyyypqAzz
1: aaaabxyzpqrrrabbxyyyypqAzz
1: abcxyzpqrrrabbxyyyypqAzz
1: aabcxyzpqrrrabbxyyyypqAzz
1: aaabcxyzpqrrrabbxyyyypAzz
1: aaabcxyzpqrrrabbxyyyypqAzz
1: aaabcxyzpqrrrabbxyyyypqqAzz
1: aaabcxyzpqrrrabbxyyyypqqqAzz
1: aaabcxyzpqrrrabbxyyyypqqqqAzz
1: aaabcxyzpqrrrabbxyyyypqqqqqAzz
1: aaabcxyzpqrrrabbxyyyypqqqqqqAzz
1: aaaabcxyzpqrrrabbxyyyypqAzz
1: abxyzzpqrrrabbxyyyypqAzz
1: aabxyzzzpqrrrabbxyyyypqAzz
1: aaabxyzzzzpqrrrabbxyyyypqAzz
1: aaaabxyzzzzpqrrrabbxyyyypqAzz
1: abcxyzzpqrrrabbxyyyypqAzz
1: aabcxyzzzpqrrrabbxyyyypqAzz
1: aaabcxyzzzzpqrrrabbxyyyypqAzz
1: aaaabcxyzzzzpqrrrabbxyyyypqAzz
1: aaaabcxyzzzzpqrrrabbbxyyyypqAzz
1: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
1: aaabcxyzpqrrrabbxyyyypABzz
1: aaabcxyzpqrrrabbxyyyypABBzz
1: >>>aaabxyzpqrrrabbxyyyypqAzz
1: >aaaabxyzpqrrrabbxyyyypqAzz
1: >>>>abcxyzpqrrrabbxyyyypqAzz
0: *** Failers
0: abxyzpqrrabbxyyyypqAzz
0: abxyzpqrrrrabbxyyyypqAzz
0: abxyzpqrrrabxyyyypqAzz
0: aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
0: aaaabcxyzzzzpqrrrabbbxyyypqAzz
0: aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
/a+b+c/
1: aabbabc
/a+b+c/i
1: AABBABC
/a.*?c/i
1: ABCABC
/a.*c/
1: axyzc
/a.*c/i
0: *** Failers
1: AABC
0: AXYZD
/a.+?c/
1: abcabc
/a.+?c/i
1: ABCABC
/a.b/
1: acb
0: *** Failers
0: a\nb
/a.b/s
1: acb
0: a\nb
/a.c/
1: abc
1: axc
/a.c/i
1: ABC
1: AXC
/a.{0,5}?c/i
1: ABCABC
/a[-]?c/
1: ac
/a[-]?c/i
1: AC
/a[-b]/
1: a-
/a[-b]/i
1: A-
/a[\S]b/
1: a-b
0: *** Failers
1: a-b
0: a b
/a[\s]b/
1: a b
/a[]]b/
1: a]b
/a[]]b/i
1: A]B
/a[^-b]c/
1: adc
/a[^-b]c/i
1: ADC
0: *** Failers
0: ABD
0: A-C
/a[^]b]c/
1: adc
0: *** Failers
1: a-c
0: a]c
/a[^]b]c/i
1: ADC
/a[^a]b/
1: acb
0: a\nb
/a[^a]b/s
1: acb
0: a\nb
/a[^bc]d/
1: aed
0: *** Failers
0: abd
0: abd
/a[^bc]d/i
1: AED
/a[b-]/
1: a-
/a[b-]/i
1: A-
/a[b-d]/
1: aac
/a[b-d]/i
1: AAC
/a[b-d]e/
1: ace
/a[b-d]e/i
1: ACE
0: *** Failers
0: ABC
0: ABD
/a[bc]d/
1: abd
0: *** Failers
0: axyzd
0: abc
/a[bc]d/i
1: ABD
/a[bcd]*dcdcde/
1: adcdcde
/a[bcd]*dcdcde/i
1: ADCDCDE
/a[bcd]+dcdcde/
0: *** Failers
0: abcde
0: adcdcde
/a[bcd]+dcdcde/i
/a\(*b/
1: ab
1: a((b
/a\(*b/i
1: AB
1: A((B
/a\(b/
1: a(b
/a\(b/i
1: A(B
/a\Sb/
1: a-b
0: *** Failers
1: a-b
0: a b
/a\Z/
0: *** Failers
0: aaab
0: a\nb\n
/a\\b/
1: a\b
/a\\b/i
1: A\B
/a\sb/
1: a b
/a]/
1: a]
/a]/i
1: A]
/ab(c){0,0}d/
1: abd
0: *** Failers
0: abcd
/ab*/
1: xabyabbbz
1: xayabbbz
/ab*/i
1: XABYABBBZ
1: XAYABBBZ
/ab*?bc/i
1: ABBBBC
/ab*bc/
1: abc
1: abbc
1: abbbbc
/ab*bc/i
1: ABC
1: ABBC
/ab*c/
1: abc
/ab*c/i
1: ABC
/ab+?bc/i
1: ABBC
/ab+bc/
1: abbbbc
/ab+bc/i
1: ABBBBC
/ab??bc/i
/ab??c/i
1: ABC
/ab?bc/
/ab?c/
1: abc
/ab[cd]{0,0}e/
1: abe
0: *** Failers
0: abcde
/ab\d{0}e/
1: abe
0: *** Failers
0: ab1e
/abc$/
1: aabc
0: *** Failers
1: aabc
0: aabcd
/abc$/i
1: AABC
/abc./g
1: abc1abc2xyzabc3
/abc/
/abc/i
/abc[\10]de/
0: abc\010de
/abc[\1]de/
0: abc\1de
/abc\0def\00pqr\000xyz\0000AB/
0: abc\0def\00pqr\000xyz\0000AB
0: abc456 abc\0def\00pqr\000xyz\0000ABCDE
/abc\81/
0: abc\081
0: abc\0\x38\x31
/abc\91/
0: abc\091
0: abc\0\x39\x31
/abc\Qabc\Eabc/
1: abcabcabc
/abc\x0def\x00pqr\x000xyz\x0000AB/
0: abc\x0def\x00pqr\x000xyz\x0000AB
0: abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
/abcd*efg/
1: abcdefg
/abcd*efg/i
1: ABCDEFG
/abcd/
1: abcd
/abcd/i
1: ABCD
/abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
0: abcd\t\n\r\f\a\e9;\$\\?caxyz
/abcde{0,0}/
1: abcd
0: *** Failers
0: abce
/ab{0,1}?bc/i
1: ABC
/ab{0,1}?c/i
1: ABC
/ab{0,1}bc/
1: abc
/ab{0,1}c/
1: abc
/ab{0,}?bc/i
1: ABBBBC
/ab{0,}bc/
1: abbbbc
/ab{1,3}?bc/i
1: ABBBBC
/ab{1,3}bc/
1: abbbbc
/ab{1,}?bc/i
1: ABBBBC
/ab{1,}bc/
1: abbbbc
/ab{1,}bc/i
/ab{3,4a}cd/
1: ab{3,4a}cd
/ab{3,4}?bc/i
1: ABBBBC
/ab{3,4}bc/
1: abbbbc
/ab{3,cd/
1: ab{3,cd
/ab{3cd/
1: ab{3cd
/ab{4,5}?bc/i
0: *** Failers
0: ABQ
0: ABBBBC
/ab{4,5}bc/
0: *** Failers
0: abq
0: abbbbc
/ab|cd/
1: abc
1: abcd
/ab|cd/i
1: ABC
1: ABCD
/a{0}bc/
1: bc
/a{1,}b{1,}c/
1: aabbabc
/a{1,}b{1,}c/i
1: AABBABC
/a|b|c|d|e/
1: e
/a|b|c|d|e/i
1: E
/b\Z/
1: a\nb
/b\z/
1: a\nb
0: *** Failers
/foo(.*)bar/
1: The food is under the bar in the barn.
/foo(?!bar)(.*)/
1: foobar is foolish see?
/foo\w*\d{4}baz/
1: foobar1234baz
/multiple words of text/
0: *** Failers
0: aa
0: uh-uh
/multiple words of text/i
0: *** Failers
0: AA
0: UH-UH
/multiple words/
1: multiple words, yeah
/multiple words/i
1: MULTIPLE WORDS, YEAH
/the quick brown fox/
1: the quick brown fox
0: The quick brown FOX
1: What do you know about the quick brown fox?
0: What do you know about THE QUICK BROWN FOX?
/word (?:[a-zA-Z0-9]+ ){0,10}otherword/
0: rd cat dog elephant mussel cow horse canary baboon snake shark otherword
0: rd cat dog elephant mussel cow horse canary baboon snake shark
/word (?:[a-zA-Z0-9]+ ){0,300}otherword/
0: rd cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
/word (?>[a-zA-Z0-9]+ ){0,30}otherword/
1: word cat dog elephant mussel cow horse canary baboon snake shark otherword
0: word cat dog elephant mussel cow horse canary baboon snake shark
0:
0: word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
/x(~~)*(?:(?:F)?)?/
1: x~~
/{4,5a}bc/
1: {4,5a}bc
/<2F><><EFBFBD><EFBFBD>[<5B>-<2D><>-<2D>]+/
1: <20><><EFBFBD><EFBFBD><EFBFBD>
1: <20><><EFBFBD><EFBFBD><EFBFBD>
1: <20><><EFBFBD><EFBFBD><EFBFBD>
1: <20><><EFBFBD><EFBFBD><EFBFBD>