digitalmars.D - Regexp and Regex - fixing old source code
- Daren Scot Wilson (14/14) Jun 01 2013 I have some D2 source code resembling
- Tyro[17] (21/34) Jun 01 2013 The details of std.regex is found at this link:
I have some D2 source code resembling
if (auto m = std.regexp.search(text, "x") ) {
...
}
This gives "function std.regexp.search is deprecated". Not being
expert at regexes in any compile-to-metal language including D, I
hoped I could just change "regexp" to "regex" and be on my way.
Nope, apparently the new regex isn't pin-for-pin compatible with
the old regexp. It doesn't have search(). The compiler gives
"Error: undefined identifier module regex.search"
Not wanting to spend a gob of time learning regex, which I'm
unlikely to ever use in my normal work (or abnormal work), is
there something like a how-to cheat sheet for switching regexp
code to regex?
Jun 01 2013
On 6/1/13 6:31 PM, Daren Scot Wilson wrote:
I have some D2 source code resembling
if (auto m = std.regexp.search(text, "x") ) {
...
}
This gives "function std.regexp.search is deprecated". Not being expert
at regexes in any compile-to-metal language including D, I hoped I could
just change "regexp" to "regex" and be on my way. Nope, apparently the
new regex isn't pin-for-pin compatible with the old regexp. It doesn't
have search(). The compiler gives "Error: undefined identifier module
regex.search"
Not wanting to spend a gob of time learning regex, which I'm unlikely to
ever use in my normal work (or abnormal work), is there something like a
how-to cheat sheet for switching regexp code to regex?
The details of std.regex is found at this link:
http://dlang.org/phobos/std_regex.html
maybe this might help:
import std.regex;
void main() {
auto text = "regex";
if (auto m = match(text, "x") ) {
auto c = m.captures;
writeln(c.pre, ":", c.post, ":", c.hit);
}
}
For future information, posts of this nature should be posted in D.learn.
--
Andrew Edwards
--------------------
http://www.akeron.co
auto getAddress() {
string location = " ", period = ".";
return ("info" ~ location ~ "afidem" ~ period ~ "org");
}
Jun 01 2013








"Tyro[17]" <ridimz yahoo.com>