| 1 |
|
/-- This set of tests is not Perl-compatible. It checks on special features |
| 2 |
|
of PCRE's API, error diagnostics, and the compiled code of some patterns. |
| 3 |
|
It also checks the non-Perl syntax the PCRE supports (Python, .NET, |
| 4 |
|
Oniguruma). Finally, there are some tests where PCRE and Perl differ, |
| 5 |
|
either because PCRE can't be compatible, or there is potential Perl |
| 6 |
|
bug. --/ |
| 7 |
|
|
| 8 |
|
/-- Originally, the Perl 5.10 things were in here too, but now I have separated |
| 9 |
|
many (most?) of them out into test 11. However, there may still be some |
| 10 |
|
that were overlooked. --/ |
| 11 |
|
|
| 12 |
/(a)b|/I |
/(a)b|/I |
| 13 |
|
|
| 14 |
/abc/I |
/abc/I |
| 134 |
defabc |
defabc |
| 135 |
\Zdefabc |
\Zdefabc |
| 136 |
|
|
| 137 |
/abc/IP |
/abc/P |
| 138 |
abc |
abc |
| 139 |
*** Failers |
*** Failers |
| 140 |
|
|
| 141 |
/^abc|def/IP |
/^abc|def/P |
| 142 |
abcdef |
abcdef |
| 143 |
abcdef\B |
abcdef\B |
| 144 |
|
|
| 145 |
/.*((abc)$|(def))/IP |
/.*((abc)$|(def))/P |
| 146 |
defabc |
defabc |
| 147 |
\Zdefabc |
\Zdefabc |
| 148 |
|
|
| 149 |
/the quick brown fox/IP |
/the quick brown fox/P |
| 150 |
the quick brown fox |
the quick brown fox |
| 151 |
*** Failers |
*** Failers |
| 152 |
The Quick Brown Fox |
The Quick Brown Fox |
| 153 |
|
|
| 154 |
/the quick brown fox/IPi |
/the quick brown fox/Pi |
| 155 |
the quick brown fox |
the quick brown fox |
| 156 |
The Quick Brown Fox |
The Quick Brown Fox |
| 157 |
|
|
| 158 |
/abc.def/IP |
/abc.def/P |
| 159 |
*** Failers |
*** Failers |
| 160 |
abc\ndef |
abc\ndef |
| 161 |
|
|
| 162 |
/abc$/IP |
/abc$/P |
| 163 |
abc |
abc |
| 164 |
abc\n |
abc\n |
| 165 |
|
|
| 166 |
/(abc)\2/IP |
/(abc)\2/P |
| 167 |
|
|
| 168 |
/(abc\1)/IP |
/(abc\1)/P |
| 169 |
abc |
abc |
| 170 |
|
|
| 171 |
/)/ |
/)/ |
| 344 |
*** Failers |
*** Failers |
| 345 |
a |
a |
| 346 |
|
|
| 347 |
/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I |
/This one is here because Perl behaves differently; see also the following/I |
| 348 |
|
|
| 349 |
/^(a\1?){4}$/I |
/^(a\1?){4}$/I |
| 350 |
|
aaaa |
| 351 |
aaaaaa |
aaaaaa |
| 352 |
|
|
| 353 |
|
/Perl does not fail these two for the final subjects. Neither did PCRE until/ |
| 354 |
|
/release 8.01. The problem is in backtracking into a subpattern that contains/ |
| 355 |
|
/a recursive reference to itself. PCRE has now made these into atomic patterns./ |
| 356 |
|
|
| 357 |
|
/^(xa|=?\1a){2}$/ |
| 358 |
|
xa=xaa |
| 359 |
|
** Failers |
| 360 |
|
xa=xaaa |
| 361 |
|
|
| 362 |
|
/^(xa|=?\1a)+$/ |
| 363 |
|
xa=xaa |
| 364 |
|
** Failers |
| 365 |
|
xa=xaaa |
| 366 |
|
|
| 367 |
/These are syntax tests from Perl 5.005/I |
/These are syntax tests from Perl 5.005/I |
| 368 |
|
|
| 619 |
*** Failers |
*** Failers |
| 620 |
\Nabc |
\Nabc |
| 621 |
|
|
| 622 |
/a*(b+)(z)(z)/IP |
/a*(b+)(z)(z)/P |
| 623 |
aaaabbbbzzzz |
aaaabbbbzzzz |
| 624 |
aaaabbbbzzzz\O0 |
aaaabbbbzzzz\O0 |
| 625 |
aaaabbbbzzzz\O1 |
aaaabbbbzzzz\O1 |
| 1148 |
|
|
| 1149 |
/(a(?1)+b)/DZ |
/(a(?1)+b)/DZ |
| 1150 |
|
|
|
/^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii |
|
|
1221 |
|
|
Satan, oscillate my metallic sonatas! |
|
|
A man, a plan, a canal: Panama! |
|
|
Able was I ere I saw Elba. |
|
|
*** Failers |
|
|
The quick brown fox |
|
|
|
|
| 1151 |
/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I |
/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I |
| 1152 |
12 |
12 |
| 1153 |
(((2+2)*-3)-7) |
(((2+2)*-3)-7) |
| 1437 |
** Failers |
** Failers |
| 1438 |
line one\nthis is a line\nbreak in the second line |
line one\nthis is a line\nbreak in the second line |
| 1439 |
|
|
| 1440 |
/ab.cd/IP |
/ab.cd/P |
| 1441 |
ab-cd |
ab-cd |
| 1442 |
ab=cd |
ab=cd |
| 1443 |
** Failers |
** Failers |
| 1444 |
ab\ncd |
ab\ncd |
| 1445 |
|
|
| 1446 |
/ab.cd/IPs |
/ab.cd/Ps |
| 1447 |
ab-cd |
ab-cd |
| 1448 |
ab=cd |
ab=cd |
| 1449 |
ab\ncd |
ab\ncd |
| 1498 |
(this) |
(this) |
| 1499 |
((this)) |
((this)) |
| 1500 |
|
|
| 1501 |
/a(b)c/IPN |
/a(b)c/PN |
| 1502 |
abc |
abc |
| 1503 |
|
|
| 1504 |
/a(?P<name>b)c/IPN |
/a(?P<name>b)c/PN |
| 1505 |
abc |
abc |
| 1506 |
|
|
| 1507 |
/\x{100}/I |
/\x{100}/I |
| 1933 |
/(?=(?'abc'\w+))\k<abc>:/I |
/(?=(?'abc'\w+))\k<abc>:/I |
| 1934 |
abcd: |
abcd: |
| 1935 |
|
|
|
/(?'abc'\w+):\k<abc>{2}/ |
|
|
a:aaxyz |
|
|
ab:ababxyz |
|
|
** Failers |
|
|
a:axyz |
|
|
ab:abxyz |
|
|
|
|
| 1936 |
/(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J |
/(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J |
| 1937 |
adaa |
adaa |
| 1938 |
** Failers |
** Failers |
| 1945 |
** Failers |
** Failers |
| 1946 |
bddd |
bddd |
| 1947 |
|
|
|
/^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x |
|
|
abd |
|
|
ce |
|
|
|
|
| 1948 |
/(?(<bc))/ |
/(?(<bc))/ |
| 1949 |
|
|
| 1950 |
/(?(''))/ |
/(?(''))/ |
| 1962 |
/(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x |
/(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x |
| 1963 |
abcabc1Xabc2XabcXabcabc |
abcabc1Xabc2XabcXabcabc |
| 1964 |
|
|
|
/^(?(DEFINE) (?<A> a) (?<B> b) ) (?&A) (?&B) /x |
|
|
abcd |
|
|
|
|
|
/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT)) |
|
|
(?(DEFINE) |
|
|
(?<NAME_PAT>[a-z]+) |
|
|
(?<ADDRESS_PAT>\d+) |
|
|
)/x |
|
|
metcalfe 33 |
|
|
|
|
| 1965 |
/^(?(DEFINE) abc | xyz ) /x |
/^(?(DEFINE) abc | xyz ) /x |
| 1966 |
|
|
| 1967 |
/(?(DEFINE) abc) xyz/xI |
/(?(DEFINE) abc) xyz/xI |
| 2050 |
/(?1)X(?<abc>P)/I |
/(?1)X(?<abc>P)/I |
| 2051 |
abcPXP123 |
abcPXP123 |
| 2052 |
|
|
|
/(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/ |
|
|
1.2.3.4 |
|
|
131.111.10.206 |
|
|
10.0.0.0 |
|
|
** Failers |
|
|
10.6 |
|
|
455.3.4.5 |
|
|
|
|
|
/\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/ |
|
|
1.2.3.4 |
|
|
131.111.10.206 |
|
|
10.0.0.0 |
|
|
** Failers |
|
|
10.6 |
|
|
455.3.4.5 |
|
|
|
|
| 2053 |
/(?:a(?&abc)b)*(?<abc>x)/ |
/(?:a(?&abc)b)*(?<abc>x)/ |
| 2054 |
123axbaxbaxbx456 |
123axbaxbaxbx456 |
| 2055 |
123axbaxbaxb456 |
123axbaxbaxb456 |
| 2071 |
defabcabcxyz |
defabcabcxyz |
| 2072 |
DEFabcABCXYZ |
DEFabcABCXYZ |
| 2073 |
|
|
|
/^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/ |
|
|
ababababbbabZXXXX |
|
|
|
|
| 2074 |
/^(a)\g-2/ |
/^(a)\g-2/ |
| 2075 |
|
|
| 2076 |
/^(a)\g/ |
/^(a)\g/ |
| 2169 |
/^(?(+1)X|Y)(.)/BZ |
/^(?(+1)X|Y)(.)/BZ |
| 2170 |
Y! |
Y! |
| 2171 |
|
|
|
/(foo)\Kbar/ |
|
|
foobar |
|
|
|
|
|
/(foo)(\Kbar|baz)/ |
|
|
foobar |
|
|
foobaz |
|
|
|
|
|
/(foo\Kbar)baz/ |
|
|
foobarbaz |
|
|
|
|
| 2172 |
/(?<A>tom|bon)-\k{A}/ |
/(?<A>tom|bon)-\k{A}/ |
| 2173 |
tom-tom |
tom-tom |
| 2174 |
bon-bon |
bon-bon |
| 2175 |
** Failers |
** Failers |
| 2176 |
tom-bon |
tom-bon |
| 2177 |
|
|
|
/(?<A>tom|bon)-\g{A}/ |
|
|
tom-tom |
|
|
bon-bon |
|
|
|
|
| 2178 |
/\g{A/ |
/\g{A/ |
| 2179 |
|
|
| 2180 |
/(?|(abc)|(xyz))/BZ |
/(?|(abc)|(xyz))/BZ |
| 2189 |
xabcpqrx |
xabcpqrx |
| 2190 |
xxyzx |
xxyzx |
| 2191 |
|
|
|
/(?|(abc)|(xyz))\1/ |
|
|
abcabc |
|
|
xyzxyz |
|
|
** Failers |
|
|
abcxyz |
|
|
xyzabc |
|
|
|
|
|
/(?|(abc)|(xyz))(?1)/ |
|
|
abcabc |
|
|
xyzabc |
|
|
** Failers |
|
|
xyzxyz |
|
|
|
|
|
/\H\h\V\v/ |
|
|
X X\x0a |
|
|
X\x09X\x0b |
|
|
** Failers |
|
|
\xa0 X\x0a |
|
|
|
|
|
/\H*\h+\V?\v{3,4}/ |
|
|
\x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a |
|
|
\x09\x20\xa0\x0a\x0b\x0c\x0d\x0a |
|
|
\x09\x20\xa0\x0a\x0b\x0c |
|
|
** Failers |
|
|
\x09\x20\xa0\x0a\x0b |
|
|
|
|
|
/\H{3,4}/ |
|
|
XY ABCDE |
|
|
XY PQR ST |
|
|
|
|
|
/.\h{3,4}./ |
|
|
XY AB PQRS |
|
|
|
|
|
/\h*X\h?\H+Y\H?Z/ |
|
|
>XNNNYZ |
|
|
> X NYQZ |
|
|
** Failers |
|
|
>XYZ |
|
|
> X NY Z |
|
|
|
|
|
/\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/ |
|
|
>XY\x0aZ\x0aA\x0bNN\x0c |
|
|
>\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c |
|
|
|
|
| 2192 |
/[\h]/BZ |
/[\h]/BZ |
| 2193 |
>\x09< |
>\x09< |
| 2194 |
|
|
| 2261 |
|
|
| 2262 |
/A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ |
/A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ |
| 2263 |
|
|
|
/^a+(*FAIL)/ |
|
|
aaaaaa |
|
|
|
|
|
/a+b?c+(*FAIL)/ |
|
|
aaabccc |
|
|
|
|
|
/a+b?(*PRUNE)c+(*FAIL)/ |
|
|
aaabccc |
|
|
|
|
|
/a+b?(*COMMIT)c+(*FAIL)/ |
|
|
aaabccc |
|
|
|
|
|
/a+b?(*SKIP)c+(*FAIL)/ |
|
|
aaabcccaaabccc |
|
|
|
|
|
/^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/ |
|
|
aaaxxxxxx |
|
|
aaa++++++ |
|
|
bbbxxxxx |
|
|
bbb+++++ |
|
|
cccxxxx |
|
|
ccc++++ |
|
|
dddddddd |
|
|
|
|
|
/^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/ |
|
|
aaaxxxxxx |
|
|
aaa++++++ |
|
|
bbbxxxxx |
|
|
bbb+++++ |
|
|
cccxxxx |
|
|
ccc++++ |
|
|
dddddddd |
|
|
|
|
|
/a+b?(*THEN)c+(*FAIL)/ |
|
|
aaabccc |
|
|
|
|
|
/(A (A|B(*ACCEPT)|C) D)(E)/x |
|
|
ABX |
|
|
AADE |
|
|
ACDE |
|
|
** Failers |
|
|
AD |
|
|
|
|
| 2264 |
/^a+(*FAIL)/C |
/^a+(*FAIL)/C |
| 2265 |
aaaaaa |
aaaaaa |
| 2266 |
|
|
| 2279 |
/a+b?(*THEN)c+(*FAIL)/C |
/a+b?(*THEN)c+(*FAIL)/C |
| 2280 |
aaabccc |
aaabccc |
| 2281 |
|
|
|
/a(*PRUNE:XXX)b/ |
|
|
|
|
| 2282 |
/a(*MARK)b/ |
/a(*MARK)b/ |
| 2283 |
|
|
| 2284 |
/(?i:A{1,}\6666666666)/ |
/(?i:A{1,}\6666666666)/ |
| 2464 |
|
|
| 2465 |
/[[:a\dz:]]/ |
/[[:a\dz:]]/ |
| 2466 |
|
|
|
/^(?<name>a|b\g<name>c)/ |
|
|
aaaa |
|
|
bacxxx |
|
|
bbaccxxx |
|
|
bbbacccxx |
|
|
|
|
|
/^(?<name>a|b\g'name'c)/ |
|
|
aaaa |
|
|
bacxxx |
|
|
bbaccxxx |
|
|
bbbacccxx |
|
|
|
|
|
/^(a|b\g<1>c)/ |
|
|
aaaa |
|
|
bacxxx |
|
|
bbaccxxx |
|
|
bbbacccxx |
|
|
|
|
|
/^(a|b\g'1'c)/ |
|
|
aaaa |
|
|
bacxxx |
|
|
bbaccxxx |
|
|
bbbacccxx |
|
|
|
|
|
/^(a|b\g'-1'c)/ |
|
|
aaaa |
|
|
bacxxx |
|
|
bbaccxxx |
|
|
bbbacccxx |
|
|
|
|
|
/(^(a|b\g<-1>c))/ |
|
|
aaaa |
|
|
bacxxx |
|
|
bbaccxxx |
|
|
bbbacccxx |
|
|
|
|
| 2467 |
/(^(a|b\g<-1'c))/ |
/(^(a|b\g<-1'c))/ |
| 2468 |
|
|
|
/(^(a|b\g{-1}))/ |
|
|
bacxxx |
|
|
|
|
|
/(?-i:\g<name>)(?i:(?<name>a))/ |
|
|
XaaX |
|
|
XAAX |
|
|
|
|
|
/(?i:\g<name>)(?-i:(?<name>a))/ |
|
|
XaaX |
|
|
** Failers |
|
|
XAAX |
|
|
|
|
|
/(?-i:\g<+1>)(?i:(a))/ |
|
|
XaaX |
|
|
XAAX |
|
|
|
|
|
/(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/ |
|
|
|
|
|
/(?<n>a|b|c)\g<n>*/ |
|
|
abc |
|
|
accccbbb |
|
|
|
|
| 2469 |
/^(?+1)(?<a>x|y){0}z/ |
/^(?+1)(?<a>x|y){0}z/ |
| 2470 |
xzxx |
xzxx |
| 2471 |
yzyy |
yzyy |
| 2572 |
/^"((?(?=[a])[^"])|b)*"$/ |
/^"((?(?=[a])[^"])|b)*"$/ |
| 2573 |
"ab" |
"ab" |
| 2574 |
|
|
|
/^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/ |
|
|
XYabcdY |
|
|
|
|
| 2575 |
/^X(?5)(a)(?|(b)|(q))(c)(d)Y/ |
/^X(?5)(a)(?|(b)|(q))(c)(d)Y/ |
| 2576 |
XYabcdY |
XYabcdY |
| 2577 |
|
|
| 2578 |
/^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ |
/^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ |
| 2579 |
XYabcdY |
XYabcdY |
| 2580 |
|
|
| 2581 |
|
/Xa{2,4}b/ |
| 2582 |
|
X\P |
| 2583 |
|
Xa\P |
| 2584 |
|
Xaa\P |
| 2585 |
|
Xaaa\P |
| 2586 |
|
Xaaaa\P |
| 2587 |
|
|
| 2588 |
|
/Xa{2,4}?b/ |
| 2589 |
|
X\P |
| 2590 |
|
Xa\P |
| 2591 |
|
Xaa\P |
| 2592 |
|
Xaaa\P |
| 2593 |
|
Xaaaa\P |
| 2594 |
|
|
| 2595 |
|
/Xa{2,4}+b/ |
| 2596 |
|
X\P |
| 2597 |
|
Xa\P |
| 2598 |
|
Xaa\P |
| 2599 |
|
Xaaa\P |
| 2600 |
|
Xaaaa\P |
| 2601 |
|
|
| 2602 |
|
/X\d{2,4}b/ |
| 2603 |
|
X\P |
| 2604 |
|
X3\P |
| 2605 |
|
X33\P |
| 2606 |
|
X333\P |
| 2607 |
|
X3333\P |
| 2608 |
|
|
| 2609 |
|
/X\d{2,4}?b/ |
| 2610 |
|
X\P |
| 2611 |
|
X3\P |
| 2612 |
|
X33\P |
| 2613 |
|
X333\P |
| 2614 |
|
X3333\P |
| 2615 |
|
|
| 2616 |
|
/X\d{2,4}+b/ |
| 2617 |
|
X\P |
| 2618 |
|
X3\P |
| 2619 |
|
X33\P |
| 2620 |
|
X333\P |
| 2621 |
|
X3333\P |
| 2622 |
|
|
| 2623 |
|
/X\D{2,4}b/ |
| 2624 |
|
X\P |
| 2625 |
|
Xa\P |
| 2626 |
|
Xaa\P |
| 2627 |
|
Xaaa\P |
| 2628 |
|
Xaaaa\P |
| 2629 |
|
|
| 2630 |
|
/X\D{2,4}?b/ |
| 2631 |
|
X\P |
| 2632 |
|
Xa\P |
| 2633 |
|
Xaa\P |
| 2634 |
|
Xaaa\P |
| 2635 |
|
Xaaaa\P |
| 2636 |
|
|
| 2637 |
|
/X\D{2,4}+b/ |
| 2638 |
|
X\P |
| 2639 |
|
Xa\P |
| 2640 |
|
Xaa\P |
| 2641 |
|
Xaaa\P |
| 2642 |
|
Xaaaa\P |
| 2643 |
|
|
| 2644 |
|
/X[abc]{2,4}b/ |
| 2645 |
|
X\P |
| 2646 |
|
Xa\P |
| 2647 |
|
Xaa\P |
| 2648 |
|
Xaaa\P |
| 2649 |
|
Xaaaa\P |
| 2650 |
|
|
| 2651 |
|
/X[abc]{2,4}?b/ |
| 2652 |
|
X\P |
| 2653 |
|
Xa\P |
| 2654 |
|
Xaa\P |
| 2655 |
|
Xaaa\P |
| 2656 |
|
Xaaaa\P |
| 2657 |
|
|
| 2658 |
|
/X[abc]{2,4}+b/ |
| 2659 |
|
X\P |
| 2660 |
|
Xa\P |
| 2661 |
|
Xaa\P |
| 2662 |
|
Xaaa\P |
| 2663 |
|
Xaaaa\P |
| 2664 |
|
|
| 2665 |
|
/X[^a]{2,4}b/ |
| 2666 |
|
X\P |
| 2667 |
|
Xz\P |
| 2668 |
|
Xzz\P |
| 2669 |
|
Xzzz\P |
| 2670 |
|
Xzzzz\P |
| 2671 |
|
|
| 2672 |
|
/X[^a]{2,4}?b/ |
| 2673 |
|
X\P |
| 2674 |
|
Xz\P |
| 2675 |
|
Xzz\P |
| 2676 |
|
Xzzz\P |
| 2677 |
|
Xzzzz\P |
| 2678 |
|
|
| 2679 |
|
/X[^a]{2,4}+b/ |
| 2680 |
|
X\P |
| 2681 |
|
Xz\P |
| 2682 |
|
Xzz\P |
| 2683 |
|
Xzzz\P |
| 2684 |
|
Xzzzz\P |
| 2685 |
|
|
| 2686 |
|
/(Y)X\1{2,4}b/ |
| 2687 |
|
YX\P |
| 2688 |
|
YXY\P |
| 2689 |
|
YXYY\P |
| 2690 |
|
YXYYY\P |
| 2691 |
|
YXYYYY\P |
| 2692 |
|
|
| 2693 |
|
/(Y)X\1{2,4}?b/ |
| 2694 |
|
YX\P |
| 2695 |
|
YXY\P |
| 2696 |
|
YXYY\P |
| 2697 |
|
YXYYY\P |
| 2698 |
|
YXYYYY\P |
| 2699 |
|
|
| 2700 |
|
/(Y)X\1{2,4}+b/ |
| 2701 |
|
YX\P |
| 2702 |
|
YXY\P |
| 2703 |
|
YXYY\P |
| 2704 |
|
YXYYY\P |
| 2705 |
|
YXYYYY\P |
| 2706 |
|
|
| 2707 |
|
/\++\KZ|\d+X|9+Y/ |
| 2708 |
|
++++123999\P |
| 2709 |
|
++++123999Y\P |
| 2710 |
|
++++Z1234\P |
| 2711 |
|
|
| 2712 |
|
/Z(*F)/ |
| 2713 |
|
Z\P |
| 2714 |
|
ZA\P |
| 2715 |
|
|
| 2716 |
|
/Z(?!)/ |
| 2717 |
|
Z\P |
| 2718 |
|
ZA\P |
| 2719 |
|
|
| 2720 |
|
/dog(sbody)?/ |
| 2721 |
|
dogs\P |
| 2722 |
|
dogs\P\P |
| 2723 |
|
|
| 2724 |
|
/dog(sbody)??/ |
| 2725 |
|
dogs\P |
| 2726 |
|
dogs\P\P |
| 2727 |
|
|
| 2728 |
|
/dog|dogsbody/ |
| 2729 |
|
dogs\P |
| 2730 |
|
dogs\P\P |
| 2731 |
|
|
| 2732 |
|
/dogsbody|dog/ |
| 2733 |
|
dogs\P |
| 2734 |
|
dogs\P\P |
| 2735 |
|
|
| 2736 |
|
/\bthe cat\b/ |
| 2737 |
|
the cat\P |
| 2738 |
|
the cat\P\P |
| 2739 |
|
|
| 2740 |
|
/abc/ |
| 2741 |
|
abc\P |
| 2742 |
|
abc\P\P |
| 2743 |
|
|
| 2744 |
|
/\w+A/P |
| 2745 |
|
CDAAAAB |
| 2746 |
|
|
| 2747 |
|
/\w+A/PU |
| 2748 |
|
CDAAAAB |
| 2749 |
|
|
| 2750 |
|
/abc\K123/ |
| 2751 |
|
xyzabc123pqr |
| 2752 |
|
xyzabc12\P |
| 2753 |
|
xyzabc12\P\P |
| 2754 |
|
|
| 2755 |
|
/(?<=abc)123/ |
| 2756 |
|
xyzabc123pqr |
| 2757 |
|
xyzabc12\P |
| 2758 |
|
xyzabc12\P\P |
| 2759 |
|
|
| 2760 |
|
/\babc\b/ |
| 2761 |
|
+++abc+++ |
| 2762 |
|
+++ab\P |
| 2763 |
|
+++ab\P\P |
| 2764 |
|
|
| 2765 |
|
/(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ |
| 2766 |
|
|
| 2767 |
|
/(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ |
| 2768 |
|
|
| 2769 |
|
/(ab)(x(y)z(cd(*ACCEPT)))pq/BZ |
| 2770 |
|
|
| 2771 |
|
/abc\K/+ |
| 2772 |
|
abcdef |
| 2773 |
|
abcdef\N\N |
| 2774 |
|
xyzabcdef\N\N |
| 2775 |
|
** Failers |
| 2776 |
|
abcdef\N |
| 2777 |
|
xyzabcdef\N |
| 2778 |
|
|
| 2779 |
|
/^(?:(?=abc)|abc\K)/+ |
| 2780 |
|
abcdef |
| 2781 |
|
abcdef\N\N |
| 2782 |
|
** Failers |
| 2783 |
|
abcdef\N |
| 2784 |
|
|
| 2785 |
|
/a?b?/+ |
| 2786 |
|
xyz |
| 2787 |
|
xyzabc |
| 2788 |
|
xyzabc\N |
| 2789 |
|
xyzabc\N\N |
| 2790 |
|
xyz\N\N |
| 2791 |
|
** Failers |
| 2792 |
|
xyz\N |
| 2793 |
|
|
| 2794 |
|
/^a?b?/+ |
| 2795 |
|
xyz |
| 2796 |
|
xyzabc |
| 2797 |
|
** Failers |
| 2798 |
|
xyzabc\N |
| 2799 |
|
xyzabc\N\N |
| 2800 |
|
xyz\N\N |
| 2801 |
|
xyz\N |
| 2802 |
|
|
| 2803 |
|
/^(?<name>a|b\g<name>c)/ |
| 2804 |
|
aaaa |
| 2805 |
|
bacxxx |
| 2806 |
|
bbaccxxx |
| 2807 |
|
bbbacccxx |
| 2808 |
|
|
| 2809 |
|
/^(?<name>a|b\g'name'c)/ |
| 2810 |
|
aaaa |
| 2811 |
|
bacxxx |
| 2812 |
|
bbaccxxx |
| 2813 |
|
bbbacccxx |
| 2814 |
|
|
| 2815 |
|
/^(a|b\g<1>c)/ |
| 2816 |
|
aaaa |
| 2817 |
|
bacxxx |
| 2818 |
|
bbaccxxx |
| 2819 |
|
bbbacccxx |
| 2820 |
|
|
| 2821 |
|
/^(a|b\g'1'c)/ |
| 2822 |
|
aaaa |
| 2823 |
|
bacxxx |
| 2824 |
|
bbaccxxx |
| 2825 |
|
bbbacccxx |
| 2826 |
|
|
| 2827 |
|
/^(a|b\g'-1'c)/ |
| 2828 |
|
aaaa |
| 2829 |
|
bacxxx |
| 2830 |
|
bbaccxxx |
| 2831 |
|
bbbacccxx |
| 2832 |
|
|
| 2833 |
|
/(^(a|b\g<-1>c))/ |
| 2834 |
|
aaaa |
| 2835 |
|
bacxxx |
| 2836 |
|
bbaccxxx |
| 2837 |
|
bbbacccxx |
| 2838 |
|
|
| 2839 |
|
/(?-i:\g<name>)(?i:(?<name>a))/ |
| 2840 |
|
XaaX |
| 2841 |
|
XAAX |
| 2842 |
|
|
| 2843 |
|
/(?i:\g<name>)(?-i:(?<name>a))/ |
| 2844 |
|
XaaX |
| 2845 |
|
** Failers |
| 2846 |
|
XAAX |
| 2847 |
|
|
| 2848 |
|
/(?-i:\g<+1>)(?i:(a))/ |
| 2849 |
|
XaaX |
| 2850 |
|
XAAX |
| 2851 |
|
|
| 2852 |
|
/(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/ |
| 2853 |
|
|
| 2854 |
|
/(?<n>a|b|c)\g<n>*/ |
| 2855 |
|
abc |
| 2856 |
|
accccbbb |
| 2857 |
|
|
| 2858 |
/^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ |
/^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ |
| 2859 |
XYabcdY |
XYabcdY |
| 2860 |
|
|
| 2861 |
/^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/ |
/(?<=b(?1)|zzz)(a)/ |
| 2862 |
XYabcdY |
xbaax |
| 2863 |
|
xzzzax |
| 2864 |
|
|
| 2865 |
|
/(a)(?<=b\1)/ |
| 2866 |
|
|
| 2867 |
|
/(a)(?<=b+(?1))/ |
| 2868 |
|
|
| 2869 |
|
/(a+)(?<=b(?1))/ |
| 2870 |
|
|
| 2871 |
|
/(a(?<=b(?1)))/ |
| 2872 |
|
|
| 2873 |
|
/(?<=b(?1))xyz/ |
| 2874 |
|
|
| 2875 |
|
/(?<=b(?1))xyz(b+)pqrstuvew/ |
| 2876 |
|
|
| 2877 |
|
/(a|bc)\1/SI |
| 2878 |
|
|
| 2879 |
|
/(a|bc)\1{2,3}/SI |
| 2880 |
|
|
| 2881 |
|
/(a|bc)(?1)/SI |
| 2882 |
|
|
| 2883 |
|
/(a|b\1)(a|b\1)/SI |
| 2884 |
|
|
| 2885 |
|
/(a|b\1){2}/SI |
| 2886 |
|
|
| 2887 |
|
/(a|bbbb\1)(a|bbbb\1)/SI |
| 2888 |
|
|
| 2889 |
|
/(a|bbbb\1){2}/SI |
| 2890 |
|
|
| 2891 |
|
/^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]/SI |
| 2892 |
|
|
| 2893 |
|
/ (?: [\040\t] | \( |
| 2894 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2895 |
|
\) )* # optional leading comment |
| 2896 |
|
(?: (?: |
| 2897 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 2898 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 2899 |
|
| |
| 2900 |
|
" (?: # opening quote... |
| 2901 |
|
[^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 2902 |
|
| # or |
| 2903 |
|
\\ [^\x80-\xff] # Escaped something (something != CR) |
| 2904 |
|
)* " # closing quote |
| 2905 |
|
) # initial word |
| 2906 |
|
(?: (?: [\040\t] | \( |
| 2907 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2908 |
|
\) )* \. (?: [\040\t] | \( |
| 2909 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2910 |
|
\) )* (?: |
| 2911 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 2912 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 2913 |
|
| |
| 2914 |
|
" (?: # opening quote... |
| 2915 |
|
[^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 2916 |
|
| # or |
| 2917 |
|
\\ [^\x80-\xff] # Escaped something (something != CR) |
| 2918 |
|
)* " # closing quote |
| 2919 |
|
) )* # further okay, if led by a period |
| 2920 |
|
(?: [\040\t] | \( |
| 2921 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2922 |
|
\) )* @ (?: [\040\t] | \( |
| 2923 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2924 |
|
\) )* (?: |
| 2925 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 2926 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 2927 |
|
| \[ # [ |
| 2928 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 2929 |
|
\] # ] |
| 2930 |
|
) # initial subdomain |
| 2931 |
|
(?: # |
| 2932 |
|
(?: [\040\t] | \( |
| 2933 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2934 |
|
\) )* \. # if led by a period... |
| 2935 |
|
(?: [\040\t] | \( |
| 2936 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2937 |
|
\) )* (?: |
| 2938 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 2939 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 2940 |
|
| \[ # [ |
| 2941 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 2942 |
|
\] # ] |
| 2943 |
|
) # ...further okay |
| 2944 |
|
)* |
| 2945 |
|
# address |
| 2946 |
|
| # or |
| 2947 |
|
(?: |
| 2948 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 2949 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 2950 |
|
| |
| 2951 |
|
" (?: # opening quote... |
| 2952 |
|
[^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 2953 |
|
| # or |
| 2954 |
|
\\ [^\x80-\xff] # Escaped something (something != CR) |
| 2955 |
|
)* " # closing quote |
| 2956 |
|
) # one word, optionally followed by.... |
| 2957 |
|
(?: |
| 2958 |
|
[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... |
| 2959 |
|
\( |
| 2960 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2961 |
|
\) | # comments, or... |
| 2962 |
|
|
| 2963 |
|
" (?: # opening quote... |
| 2964 |
|
[^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 2965 |
|
| # or |
| 2966 |
|
\\ [^\x80-\xff] # Escaped something (something != CR) |
| 2967 |
|
)* " # closing quote |
| 2968 |
|
# quoted strings |
| 2969 |
|
)* |
| 2970 |
|
< (?: [\040\t] | \( |
| 2971 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2972 |
|
\) )* # leading < |
| 2973 |
|
(?: @ (?: [\040\t] | \( |
| 2974 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2975 |
|
\) )* (?: |
| 2976 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 2977 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 2978 |
|
| \[ # [ |
| 2979 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 2980 |
|
\] # ] |
| 2981 |
|
) # initial subdomain |
| 2982 |
|
(?: # |
| 2983 |
|
(?: [\040\t] | \( |
| 2984 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2985 |
|
\) )* \. # if led by a period... |
| 2986 |
|
(?: [\040\t] | \( |
| 2987 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2988 |
|
\) )* (?: |
| 2989 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 2990 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 2991 |
|
| \[ # [ |
| 2992 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 2993 |
|
\] # ] |
| 2994 |
|
) # ...further okay |
| 2995 |
|
)* |
| 2996 |
|
|
| 2997 |
|
(?: (?: [\040\t] | \( |
| 2998 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 2999 |
|
\) )* , (?: [\040\t] | \( |
| 3000 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3001 |
|
\) )* @ (?: [\040\t] | \( |
| 3002 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3003 |
|
\) )* (?: |
| 3004 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 3005 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 3006 |
|
| \[ # [ |
| 3007 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 3008 |
|
\] # ] |
| 3009 |
|
) # initial subdomain |
| 3010 |
|
(?: # |
| 3011 |
|
(?: [\040\t] | \( |
| 3012 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3013 |
|
\) )* \. # if led by a period... |
| 3014 |
|
(?: [\040\t] | \( |
| 3015 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3016 |
|
\) )* (?: |
| 3017 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 3018 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 3019 |
|
| \[ # [ |
| 3020 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 3021 |
|
\] # ] |
| 3022 |
|
) # ...further okay |
| 3023 |
|
)* |
| 3024 |
|
)* # further okay, if led by comma |
| 3025 |
|
: # closing colon |
| 3026 |
|
(?: [\040\t] | \( |
| 3027 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3028 |
|
\) )* )? # optional route |
| 3029 |
|
(?: |
| 3030 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 3031 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 3032 |
|
| |
| 3033 |
|
" (?: # opening quote... |
| 3034 |
|
[^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 3035 |
|
| # or |
| 3036 |
|
\\ [^\x80-\xff] # Escaped something (something != CR) |
| 3037 |
|
)* " # closing quote |
| 3038 |
|
) # initial word |
| 3039 |
|
(?: (?: [\040\t] | \( |
| 3040 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3041 |
|
\) )* \. (?: [\040\t] | \( |
| 3042 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3043 |
|
\) )* (?: |
| 3044 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 3045 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 3046 |
|
| |
| 3047 |
|
" (?: # opening quote... |
| 3048 |
|
[^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 3049 |
|
| # or |
| 3050 |
|
\\ [^\x80-\xff] # Escaped something (something != CR) |
| 3051 |
|
)* " # closing quote |
| 3052 |
|
) )* # further okay, if led by a period |
| 3053 |
|
(?: [\040\t] | \( |
| 3054 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3055 |
|
\) )* @ (?: [\040\t] | \( |
| 3056 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3057 |
|
\) )* (?: |
| 3058 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 3059 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 3060 |
|
| \[ # [ |
| 3061 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 3062 |
|
\] # ] |
| 3063 |
|
) # initial subdomain |
| 3064 |
|
(?: # |
| 3065 |
|
(?: [\040\t] | \( |
| 3066 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3067 |
|
\) )* \. # if led by a period... |
| 3068 |
|
(?: [\040\t] | \( |
| 3069 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3070 |
|
\) )* (?: |
| 3071 |
|
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 3072 |
|
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 3073 |
|
| \[ # [ |
| 3074 |
|
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 3075 |
|
\] # ] |
| 3076 |
|
) # ...further okay |
| 3077 |
|
)* |
| 3078 |
|
# address spec |
| 3079 |
|
(?: [\040\t] | \( |
| 3080 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3081 |
|
\) )* > # trailing > |
| 3082 |
|
# name and address |
| 3083 |
|
) (?: [\040\t] | \( |
| 3084 |
|
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 3085 |
|
\) )* # optional trailing comment |
| 3086 |
|
/xSI |
| 3087 |
|
|
| 3088 |
|
/<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS |
| 3089 |
|
|
| 3090 |
|
"(?>.*/)foo"SI |
| 3091 |
|
|
| 3092 |
|
/(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI |
| 3093 |
|
|
| 3094 |
|
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI |
| 3095 |
|
|
| 3096 |
|
/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI |
| 3097 |
|
|
| 3098 |
|
/<a[\s]+href[\s]*=[\s]* # find <a href= |
| 3099 |
|
([\"\'])? # find single or double quote |
| 3100 |
|
(?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching |
| 3101 |
|
# quote, otherwise match up to next space |
| 3102 |
|
/isxSI |
| 3103 |
|
|
| 3104 |
|
/^(?!:) # colon disallowed at start |
| 3105 |
|
(?: # start of item |
| 3106 |
|
(?: [0-9a-f]{1,4} | # 1-4 hex digits or |
| 3107 |
|
(?(1)0 | () ) ) # if null previously matched, fail; else null |
| 3108 |
|
: # followed by colon |
| 3109 |
|
){1,7} # end item; 1-7 of them required |
| 3110 |
|
[0-9a-f]{1,4} $ # final hex number at end of string |
| 3111 |
|
(?(1)|.) # check that there was an empty component |
| 3112 |
|
/xiIS |
| 3113 |
|
|
| 3114 |
|
/(?|(?<a>A)|(?<a>B))/I |
| 3115 |
|
AB\Ca |
| 3116 |
|
BA\Ca |
| 3117 |
|
|
| 3118 |
|
/(?|(?<a>A)|(?<b>B))/ |
| 3119 |
|
|
| 3120 |
|
/(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) | |
| 3121 |
|
b(?<quote> (?<apostrophe>')|(?<realquote>")) ) |
| 3122 |
|
(?('quote')[a-z]+|[0-9]+)/JIx |
| 3123 |
|
a"aaaaa |
| 3124 |
|
b"aaaaa |
| 3125 |
|
** Failers |
| 3126 |
|
b"11111 |
| 3127 |
|
a"11111 |
| 3128 |
|
|
| 3129 |
|
/^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx |
| 3130 |
|
abcdX |
| 3131 |
|
eX |
| 3132 |
|
** Failers |
| 3133 |
|
abcdY |
| 3134 |
|
ey |
| 3135 |
|
|
| 3136 |
|
/(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx |
| 3137 |
|
abcdd |
| 3138 |
|
** Failers |
| 3139 |
|
abcdde |
| 3140 |
|
|
| 3141 |
/^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/ |
/abcd*/ |
| 3142 |
XYabcdY |
xxxxabcd\P |
| 3143 |
|
xxxxabcd\P\P |
| 3144 |
|
|
| 3145 |
|
/abcd*/i |
| 3146 |
|
xxxxabcd\P |
| 3147 |
|
xxxxabcd\P\P |
| 3148 |
|
XXXXABCD\P |
| 3149 |
|
XXXXABCD\P\P |
| 3150 |
|
|
| 3151 |
|
/abc\d*/ |
| 3152 |
|
xxxxabc1\P |
| 3153 |
|
xxxxabc1\P\P |
| 3154 |
|
|
| 3155 |
|
/(a)bc\1*/ |
| 3156 |
|
xxxxabca\P |
| 3157 |
|
xxxxabca\P\P |
| 3158 |
|
|
| 3159 |
|
/abc[de]*/ |
| 3160 |
|
xxxxabcde\P |
| 3161 |
|
xxxxabcde\P\P |
| 3162 |
|
|
| 3163 |
|
/-- This is not in the Perl 5.10 test because Perl seems currently to be broken |
| 3164 |
|
and not behaving as specified in that it *does* bumpalong after hitting |
| 3165 |
|
(*COMMIT). --/ |
| 3166 |
|
|
| 3167 |
|
/(?1)(A(*COMMIT)|B)D/ |
| 3168 |
|
ABD |
| 3169 |
|
XABD |
| 3170 |
|
BAD |
| 3171 |
|
ABXABD |
| 3172 |
|
** Failers |
| 3173 |
|
ABX |
| 3174 |
|
BAXBAD |
| 3175 |
|
|
| 3176 |
|
/(\3)(\1)(a)/<JS> |
| 3177 |
|
cat |
| 3178 |
|
|
| 3179 |
|
/(\3)(\1)(a)/SI<JS> |
| 3180 |
|
cat |
| 3181 |
|
|
| 3182 |
|
/(\3)(\1)(a)/SI |
| 3183 |
|
cat |
| 3184 |
|
|
| 3185 |
|
/i(?(DEFINE)(?<s>a))/SI |
| 3186 |
|
i |
| 3187 |
|
|
| 3188 |
|
/()i(?(1)a)/SI |
| 3189 |
|
ia |
| 3190 |
|
|
| 3191 |
|
/(?i)a(?-i)b|c/BZ |
| 3192 |
|
XabX |
| 3193 |
|
XAbX |
| 3194 |
|
CcC |
| 3195 |
|
** Failers |
| 3196 |
|
XABX |
| 3197 |
|
|
| 3198 |
|
/(?i)a(?s)b|c/BZ |
| 3199 |
|
|
| 3200 |
|
/(?i)a(?s-i)b|c/BZ |
| 3201 |
|
|
| 3202 |
|
/^(ab(c\1)d|x){2}$/BZ |
| 3203 |
|
xabcxd |
| 3204 |
|
|
| 3205 |
|
/^(?&t)*+(?(DEFINE)(?<t>.))$/BZ |
| 3206 |
|
|
| 3207 |
|
/^(?&t)*(?(DEFINE)(?<t>.))$/BZ |
| 3208 |
|
|
| 3209 |
|
/ -- The first four of these are not in the Perl 5.10 test because Perl |
| 3210 |
|
documents that the use of \K in assertions is "not well defined". The |
| 3211 |
|
last is here because Perl gives the match as "b" rather than "ab". I |
| 3212 |
|
believe this to be a Perl bug. --/ |
| 3213 |
|
|
| 3214 |
|
/(?=a\Kb)ab/ |
| 3215 |
|
ab |
| 3216 |
|
|
| 3217 |
|
/(?!a\Kb)ac/ |
| 3218 |
|
ac |
| 3219 |
|
|
| 3220 |
|
/^abc(?<=b\Kc)d/ |
| 3221 |
|
abcd |
| 3222 |
|
|
| 3223 |
|
/^abc(?<!b\Kq)d/ |
| 3224 |
|
abcd |
| 3225 |
|
|
| 3226 |
|
/(?>a\Kb)z|(ab)/ |
| 3227 |
|
ab |
| 3228 |
|
|
| 3229 |
|
/----------------------/ |
| 3230 |
|
|
| 3231 |
|
/(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/ |
| 3232 |
|
|
| 3233 |
|
/abc(*MARK:)pqr/ |
| 3234 |
|
|
| 3235 |
|
/abc(*:)pqr/ |
| 3236 |
|
|
| 3237 |
|
/abc(*FAIL:123)xyz/ |
| 3238 |
|
|
| 3239 |
|
/--- This should, and does, fail. In Perl, it does not, which I think is a |
| 3240 |
|
bug because replacing the B in the pattern by (B|D) does make it fail. ---/ |
| 3241 |
|
|
| 3242 |
|
/A(*COMMIT)B/+K |
| 3243 |
|
ACABX |
| 3244 |
|
|
| 3245 |
|
/--- These should be different, but in Perl 5.11 are not, which I think |
| 3246 |
|
is a bug in Perl. ---/ |
| 3247 |
|
|
| 3248 |
|
/A(*THEN)B|A(*THEN)C/K |
| 3249 |
|
AC |
| 3250 |
|
|
| 3251 |
|
/A(*PRUNE)B|A(*PRUNE)C/K |
| 3252 |
|
AC |
| 3253 |
|
|
| 3254 |
|
/--- A whole lot of tests of verbs with arguments are here rather than in test |
| 3255 |
|
11 because Perl doesn't seem to follow its specification entirely |
| 3256 |
|
correctly. ---/ |
| 3257 |
|
|
| 3258 |
|
/--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is |
| 3259 |
|
not clear how Perl defines "involved in the failure of the match". ---/ |
| 3260 |
|
|
| 3261 |
|
/^(A(*THEN:A)B|C(*THEN:B)D)/K |
| 3262 |
|
AB |
| 3263 |
|
CD |
| 3264 |
|
** Failers |
| 3265 |
|
AC |
| 3266 |
|
CB |
| 3267 |
|
|
| 3268 |
|
/--- Check the use of names for success and failure. PCRE doesn't show these |
| 3269 |
|
names for success, though Perl does, contrary to its spec. ---/ |
| 3270 |
|
|
| 3271 |
|
/^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K |
| 3272 |
|
AB |
| 3273 |
|
CD |
| 3274 |
|
** Failers |
| 3275 |
|
AC |
| 3276 |
|
CB |
| 3277 |
|
|
| 3278 |
|
/--- An empty name does not pass back an empty string. It is the same as if no |
| 3279 |
|
name were given. ---/ |
| 3280 |
|
|
| 3281 |
|
/^(A(*PRUNE:)B|C(*PRUNE:B)D)/K |
| 3282 |
|
AB |
| 3283 |
|
CD |
| 3284 |
|
|
| 3285 |
|
/--- PRUNE goes to next bumpalong; COMMIT does not. ---/ |
| 3286 |
|
|
| 3287 |
|
/A(*PRUNE:A)B/K |
| 3288 |
|
ACAB |
| 3289 |
|
|
| 3290 |
|
/(*MARK:A)(*PRUNE:B)(C|X)/K |
| 3291 |
|
C |
| 3292 |
|
D |
| 3293 |
|
|
| 3294 |
|
/(*MARK:A)(*THEN:B)(C|X)/K |
| 3295 |
|
C |
| 3296 |
|
D |
| 3297 |
|
|
| 3298 |
|
/--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/ |
| 3299 |
|
|
| 3300 |
|
/A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK |
| 3301 |
|
AAAC |
| 3302 |
|
|
| 3303 |
|
/--- Same --/ |
| 3304 |
|
|
| 3305 |
|
/A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK |
| 3306 |
|
AAAC |
| 3307 |
|
|
| 3308 |
|
/--- This should fail; the SKIP advances by one, but when we get to AC, the |
| 3309 |
|
PRUNE kills it. ---/ |
| 3310 |
|
|
| 3311 |
|
/A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK |
| 3312 |
|
AAAC |
| 3313 |
|
|
| 3314 |
|
/A(*:A)A+(*SKIP)(B|Z) | AC/xK |
| 3315 |
|
AAAC |
| 3316 |
|
|
| 3317 |
|
/--- This should fail, as a null name is the same as no name ---/ |
| 3318 |
|
|
| 3319 |
|
/A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK |
| 3320 |
|
AAAC |
| 3321 |
|
|
| 3322 |
|
/--- This fails in PCRE, and I think that is in accordance with Perl's |
| 3323 |
|
documentation, though in Perl it succeeds. ---/ |
| 3324 |
|
|
| 3325 |
|
/A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK |
| 3326 |
|
AAAC |
| 3327 |
|
|
| 3328 |
|
/--- Mark names can be duplicated ---/ |
| 3329 |
|
|
| 3330 |
|
/A(*:A)B|X(*:A)Y/K |
| 3331 |
|
AABC |
| 3332 |
|
XXYZ |
| 3333 |
|
|
| 3334 |
|
/^A(*:A)B|^X(*:A)Y/K |
| 3335 |
|
** Failers |
| 3336 |
|
XAQQ |
| 3337 |
|
|
| 3338 |
|
/--- A check on what happens after hitting a mark and them bumping along to |
| 3339 |
|
something that does not even start. Perl reports tags after the failures here, |
| 3340 |
|
though it does not when the individual letters are made into something |
| 3341 |
|
more complicated. ---/ |
| 3342 |
|
|
| 3343 |
|
/A(*:A)B|XX(*:B)Y/K |
| 3344 |
|
AABC |
| 3345 |
|
XXYZ |
| 3346 |
|
** Failers |
| 3347 |
|
XAQQ |
| 3348 |
|
XAQQXZZ |
| 3349 |
|
AXQQQ |
| 3350 |
|
AXXQQQ |
| 3351 |
|
|
| 3352 |
|
/--- COMMIT at the start of a pattern should be the same as an anchor. Perl |
| 3353 |
|
optimizations defeat this. So does the PCRE optimization unless we disable it |
| 3354 |
|
with \Y. ---/ |
| 3355 |
|
|
| 3356 |
|
/(*COMMIT)ABC/ |
| 3357 |
|
ABCDEFG |
| 3358 |
|
** Failers |
| 3359 |
|
DEFGABC\Y |
| 3360 |
|
|
| 3361 |
|
/--- Repeat some tests with added studying. ---/ |
| 3362 |
|
|
| 3363 |
|
/A(*COMMIT)B/+KS |
| 3364 |
|
ACABX |
| 3365 |
|
|
| 3366 |
|
/A(*THEN)B|A(*THEN)C/KS |
| 3367 |
|
AC |
| 3368 |
|
|
| 3369 |
|
/A(*PRUNE)B|A(*PRUNE)C/KS |
| 3370 |
|
AC |
| 3371 |
|
|
| 3372 |
|
/^(A(*THEN:A)B|C(*THEN:B)D)/KS |
| 3373 |
|
AB |
| 3374 |
|
CD |
| 3375 |
|
** Failers |
| 3376 |
|
AC |
| 3377 |
|
CB |
| 3378 |
|
|
| 3379 |
|
/^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS |
| 3380 |
|
AB |
| 3381 |
|
CD |
| 3382 |
|
** Failers |
| 3383 |
|
AC |
| 3384 |
|
CB |
| 3385 |
|
|
| 3386 |
|
/^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS |
| 3387 |
|
AB |
| 3388 |
|
CD |
| 3389 |
|
|
| 3390 |
|
/A(*PRUNE:A)B/KS |
| 3391 |
|
ACAB |
| 3392 |
|
|
| 3393 |
|
/(*MARK:A)(*PRUNE:B)(C|X)/KS |
| 3394 |
|
C |
| 3395 |
|
D |
| 3396 |
|
|
| 3397 |
|
/(*MARK:A)(*THEN:B)(C|X)/KS |
| 3398 |
|
C |
| 3399 |
|
D |
| 3400 |
|
|
| 3401 |
|
/A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS |
| 3402 |
|
AAAC |
| 3403 |
|
|
| 3404 |
|
/A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS |
| 3405 |
|
AAAC |
| 3406 |
|
|
| 3407 |
|
/A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS |
| 3408 |
|
AAAC |
| 3409 |
|
|
| 3410 |
|
/A(*:A)A+(*SKIP)(B|Z) | AC/xKS |
| 3411 |
|
AAAC |
| 3412 |
|
|
| 3413 |
|
/A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS |
| 3414 |
|
AAAC |
| 3415 |
|
|
| 3416 |
|
/A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS |
| 3417 |
|
AAAC |
| 3418 |
|
|
| 3419 |
|
/A(*:A)B|XX(*:B)Y/KS |
| 3420 |
|
AABC |
| 3421 |
|
XXYZ |
| 3422 |
|
** Failers |
| 3423 |
|
XAQQ |
| 3424 |
|
XAQQXZZ |
| 3425 |
|
AXQQQ |
| 3426 |
|
AXXQQQ |
| 3427 |
|
|
| 3428 |
|
/(*COMMIT)ABC/ |
| 3429 |
|
ABCDEFG |
| 3430 |
|
** Failers |
| 3431 |
|
DEFGABC\Y |
| 3432 |
|
|
| 3433 |
|
/^(ab (c+(*THEN)cd) | xyz)/x |
| 3434 |
|
abcccd |
| 3435 |
|
|
| 3436 |
|
/^(ab (c+(*PRUNE)cd) | xyz)/x |
| 3437 |
|
abcccd |
| 3438 |
|
|
| 3439 |
|
/^(ab (c+(*FAIL)cd) | xyz)/x |
| 3440 |
|
abcccd |
| 3441 |
|
|
| 3442 |
|
/--- Perl 5.11 gets some of these wrong ---/ |
| 3443 |
|
|
| 3444 |
|
/(?>.(*ACCEPT))*?5/ |
| 3445 |
|
abcde |
| 3446 |
|
|
| 3447 |
|
/(.(*ACCEPT))*?5/ |
| 3448 |
|
abcde |
| 3449 |
|
|
| 3450 |
|
/(.(*ACCEPT))5/ |
| 3451 |
|
abcde |
| 3452 |
|
|
| 3453 |
%^(?: |
/(.(*ACCEPT))*5/ |
| 3454 |
[\x09\x0A\x0D\x20-\x7E]# ASCII |
abcde |
|
| [\xC2-\xDF][\x80-\xBF]# non-overlong 2-byte |
|
|
| \xE0[\xA0-\xBF][\x80-\xBF]# excluding overlongs |
|
|
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte |
|
|
| \xED[\x80-\x9F][\x80-\xBF]# excluding surrogates |
|
|
| \xF0[\x90-\xBF][\x80-\xBF]{2}# planes 1-3 |
|
|
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15 |
|
|
| \xF4[\x80-\x8F][\x80-\xBF]{2}# plane 16 |
|
|
)*$%xs |
|
|
<div align="justify"><p>- Im Aufbau -</p><h3 id="aventurien">Aventurien</h3><div style="border: 1px none ; margin: 5px 5px 5px 10px; float:right; width: 100px;"><strong>Navigation</strong> <br /><br /><a href="#aventurien">Aventurien</a><br /><a href="#ferdok">Die Stadt Ferdok</a><br /><a href="#weitere">Weitere Ziele</a></div><p>{mosimage} Aventurien ist ein Kontinent der Welt Dere undAusgangspunkt für die meisten Abenteuer in der Welt von <em>DasSchwarze Auge</em>. Von Nord nach Süd erstreckt sich derKontinent ca. über 3000 Meilen, von Ost nach West sind esimmerhin noch 2000 Meilen. Von den Tundren Thorwals bis zurWüste Khom kann man so ziemlich alle Klimazonen in Aventurienfinden.</p><p>Im Herzen Aventuriens liegt das Kaiserreich, auch das Mittelreichgenannt, mit seiner Hauptstadt Gareth (rot umrandeter Bereich). DieKultur erinnert entfernt an das mittelalterliche Europa. DieHandlung Drakensangs wird zu großen Teilen im Mittelreichspielen, genauer gesagt, in der Umgebung der Stadt Ferdok (s.u.).Doch auch andere, exotischere Orte sollen Ziel der Reise werden.</p><p>Zahlreiche Völker und Rassen bewohnen den Kontinent, allenvoran natürlich die Menschenvölker, die die Mehrheit derBewohner stellen. Unter den Menschen gibt es zahlreicheunterschiedliche Kulturen, z. B. die wikingerähnlichenThorwaler, das Nomadenvolk der Nivesen oder eben dieMittelländer. Daneben gibt es natürlich nochfantastischere Völker wie die Elfen (mit mehrern Untergruppen),Zwerge, Orks und mehr, eben alles, was eine Fantasywelt zu bietenhat.</p><p> </p><h3 id="ferdok">Ferdok</h3><p><a target="_blank" href="images/stories/stadtplan_g.jpg">{mosimage}</a></p><p>Ferdok ist eine Grafenstadt im Mittelreich, etwas westlich derHauptstadt Gareth, und hat etwa 3000 Einwohner. Sie gehört zuden ältesten menschlichen Siedlungen des Kosch. Im Laufe derGeschichte mußte die Stadt jedoch wegen einer Änderungdes Flußlaufes des Großen Flußes im Jahre 270 BFverlegt werden, da die Stadt in der Bedeutungslosigkeit zu versinkendrohte. Heute liegt Ferdok wieder direkt an der Einmündung desRakula in den Großen Fluß. Obwohl die Stadt diefrühere Bedeutung längst verloren hat, hat sich Ferdok alsein wichtiger Handelshafen etabliert (weltberühmt: FerdokerBier). Hier werden die Waren von Gareth umgeschlagen, die überdie große Handelsstraße von und nach Ferdok verfrachtetwerden. Ferdok ist damit eines der Tore zum Westen undermöglicht schnelle Reisen in andere Teile der Aventuriens.</p><p>Verwaltungstechnisch gehört Ferdok zum FürstentumKosch, dessen Hauptstadt sie langezeit war. Mittlerweile hat siediesen Status jedoch an Angbar verloren. Trotz seiner wichtigenRolle als Handelsort sind die Bewohner Ferdoks ein eher biederesVölkchen und hängen der Erinnerung an die ruhmreichereVergangenheit hinterher. Nachts muss man auf den Straßenneuerdings aufpassen. Zur Handlungszeit verunsichert nämlicheine grauenhafte Mordserie die Bewohner Ferdoks und lässt dieBevölkerung nachts nicht richtig schlafen. Einige Bereichesollte man dann grundsätzlich nicht mehr besuchen, wenn einemdie eigene Gesundheit am Herzen liegt.</p><p>Die Stadt wird eine zentrale Anlaufstelle in Drakensang sein,weswegen sie auch vollständig, nach den Vorgaben desDSA-Regelwerks in das Spiel eingebaut wird. Der Stadtplan (zumVergrößern anklicken) wurde von Radon Labs dem Regelwerkdirekt entnommen und wird Euch auch für Drakensang gute Diensteleisten.</p><br /><h3 id="weitere">Weitere Reiseziele des Spiels</h3><a target="_blank"href="images/stories/artikel/map.jpg">{mosimage}</a> Insgesamt solles 12 Hauptregionen geben, die jeweils ca. 1 Quadratkilometergroß sind. Alle diese Regionen unterteilen sich nochmal inüber 50 kleinere Gebiete. Bekannt sind neben Ferdok bislang:<ul><li>Avestreu (kleines Dorf südöstl. von Ferdok)</li><li>Dunkelwald (südl. von Ferdok)</li><li>Ruine Blutberge (südl. von Ferdok, am Rand desDunkelwaldes)</li><li>Moorbrück (südl. des Dunkelwaldes)</li><li>Burg Grimmzahn (westl. von Moorbrück)</li><li>Murolosch (eine Zwergenstadt)</li><li>der Berg Drachensang / Drakensang (im Amboss-Gebirgegelegen)</li></ul><p> </p><p> </p><p>Ausführlichere Infos:</p><p><a title="Wiki Aventurica" target="_blank"href="http://dsa4.de/wiki">Wiki Aventurica </a>(externer Link)<br /><a href="http://www.eychgras.de/koschwiki/index.php"target="_blank">KoschWiki</a> (externer Link)</p><p> </p></div> |
|
| 3455 |
|
|
| 3456 |
/ End of testinput2 / |
/-- End of testinput2 --/ |