[Issue 7962] New: std.regex: Captures.length() returns incorrect value
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Apr 21 13:13:05 PDT 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7962
Summary: std.regex: Captures.length() returns incorrect value
Product: D
Version: D2
Platform: x86_64
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: nobody at puremagic.com
ReportedBy: markusle at gmail.com
--- Comment #0 from Markus Dittrich <markusle at gmail.com> 2012-04-21 13:14:03 PDT ---
It seems that Captures.length() from std.regex returns bogus lengths for empty
captures (I might be using it improperly). Here's a simple example, the second
match object claims length 2 while being empty.
sh-4.2$ uname
Linux
sh-4.2$ dmd | grep "DMD"
DMD64 D Compiler v2.059
sh-4.2$ cat test.d
import std.regex;
import std.stdio;
int main() {
auto r = regex(r"(@\w+)", "g");
writeln("match first string -- looks ok");
string text1 = "@This is a test";
auto m1 = match(text1, r);
auto myCapts1 = m1.captures;
writeln("content: ", myCapts1);
writeln("is empty? ", myCapts1.empty());
writeln("length: ", myCapts1.length());
writeln("");
writeln("match second string -- length seems wrong");
string text2 = "(his) is a test";
auto m2 = match(text2, r);
auto myCapts2 = m2.captures;
writeln("content: ", myCapts2);
writeln("is empty? ", myCapts2.empty());
writeln("length : ", myCapts2.length());
return 0;
}
sh-4.2$ dmd test.d
sh-4.2$ ./test
match first string -- looks ok
content: ["@This", "@This"]
is empty? false
length: 2
match second string -- length seems wrong
content: []
is empty? true
length : 2
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list