Find URI in text: Difference between revisions

Content added Content deleted
(→‎{{header|Pike}}: update test input)
Line 158: Line 158:


=={{header|Pike}}==
=={{header|Pike}}==
<lang Pike>string uritext = "this URI contains an illegal character, parentheses and a misplaced full stop:\n"
<lang Pike>string uritext = #"this URI contains an illegal character, parentheses and a misplaced full stop:
"http://en.wikipedia.org/wiki/Erich_Kästner_(camera_designer). (which is handled by http://mediawiki.org/).\n"
http://en.wikipedia.org/wiki/Erich_Kästner_(camera_designer).
which is handled by http://mediawiki.org/).
"and another one just to confuse the parser: http://en.wikipedia.org/wiki/-)\n";
and another one just to confuse the parser: http://en.wikipedia.org/wiki/-)
\")\" is handled the wrong way by the mediawiki parser.
ftp://domain.name/path(balanced_brackets)/foo.html
ftp://domain.name/path(balanced_brackets)/ending.in.dot.
ftp://domain.name/path(unbalanced_brackets/ending.in.dot.
leading junk ftp://domain.name/path/embedded?punct/uation.
leading junk ftp://domain.name/dangling_close_paren)
if you have other interesting URIs for testing, please add them here:";


array find_uris(string uritext)
array find_uris(string uritext)
Line 183: Line 191:


find_uris(uritext);
find_uris(uritext);
Result: ({ /* 3 elements */
Result: ({ /* 8 elements */
"http://en.wikipedia.org/wiki/Erich_K\303\244stner_(camera_designer)",
"http://en.wikipedia.org/wiki/Erich_Kästner_(camera_designer)",
"http://mediawiki.org/)",
"http://mediawiki.org/)",
"http://en.wikipedia.org/wiki/-)"
"http://en.wikipedia.org/wiki/-)",
"ftp://domain.name/path(balanced_brackets)/foo.html",
"ftp://domain.name/path(balanced_brackets)/ending.in.dot",
"ftp://domain.name/path(unbalanced_brackets/ending.in.dot",
"ftp://domain.name/path/embedded?punct/uation",
"ftp://domain.name/dangling_close_paren)"
})</lang>
})</lang>