in reply to differnce between egrep and perl regex ?
The most important incompatibility between egrep regexps and perl regexps it the braces.
GNU egrep uses \{N,K\} for repetitions, while GNU grep -E and perl uses {N,K}. This might be different in other versions of grep.
Also, backslashes are ordinary characters inside a bracketed character set, but are special in perl, so you must escape backslashes inside brackets when converting from egrep to perl.
Update: also note that egrep is a DFA matcher (unless you use backreferences) so some regexps might have to be changed to work with perl (which is a NFA), especially some regexps that contain repetitions embedded in each other.
Update: from perl 5.10.0 you can replace the regex engine with any other, including a posix one. The modules re::engine::TRE and re::engine::POSIX does this. You may need to use the x flag to get the egrep syntax instead of the grep syntax.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: differnce between egrep and perl regex ?
by nevyn (Monk) on Oct 12, 2004 at 22:14 UTC |