On 11/20/11 8:17 AM, Peter Alexander wrote:
How about this one:

// Match email addresses on each line of standard input
// using a compile-time generated regular expression engine.
import std.stdio, std.regex;

void main() {
string email = r"\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b";

foreach (line; stdin.byLine()) {
foreach (m; match(line, regex(email, "i"))) {
writefln("%s[%s]%s", m.pre, m.hit, m.post);
}
}
}

Demonstrates:
- Syntax
- Imports
- Raw string literals
- Foreach with type deduction
- CTFE with regex
- "Batteries included" library (std.byLine(), regex, match, writefln)
- General succinctness of D code

Great. Save that for the contest.

Andrei

Reply via email to