digitalmars.D.bugs - RegExp "." dos not match any character, as it misses newline
code:
import std.stdio;
import std.regexp;
void main()
{
char[] str = r"a
b";
char[] pattern = ".+";
if ( RegExp(pattern).test(str) )
{
str = RegExp(pattern).match(str)[0];//无论用什么Attribute,总是只匹配第一行的a,也就是.无法跨行
writefln(str);
}
else {writefln("failed");}
}
output:a
seems "." dos not match any character, as it misses newline
May 03 2007
yidabu wrote:
code:
import std.stdio;
import std.regexp;
void main()
{
char[] str = r"a
b";
char[] pattern = ".+";
if ( RegExp(pattern).test(str) )
{
str = RegExp(pattern).match(str)[0];//无论用什么Attribute,总是只匹配第一行的a,也就是.无法跨行
writefln(str);
}
else {writefln("failed");}
}
output:a
seems "." dos not match any character, as it misses newline
That's the way regexes work. I wish the docs for "." would say "Matches
any character, except a newline". Because people have asked this before.
Good regex tester here, much easier to try out stuff:
http://www.stringtools.com/
May 04 2007








torhu <fake address.dude>