[R] Regex engine types

Patrick Connolly p_connolly at ihug.co.nz
Sat Jun 10 04:46:41 CEST 2006


> version
         _                       
platform x86_64-unknown-linux-gnu
arch     x86_64                  
os       linux-gnu               
system   x86_64, linux-gnu       
status                           
major    2                       
minor    2.1                     
year     2005                    
month    12                      
day      20                      
svn rev  36812                   
language R                       
> 

> grep("[W-Z]", LETTERS, value = TRUE)
[1] "W" "X" "Y" "Z"

That's what I'd have expected.

> grep("[W-Z]", letters, value = TRUE)
[1] "x" "y" "z"

Not what I'd have thought.  However,

> grep("[B-D]", letters, value = TRUE, perl = TRUE)
character(0)

So what is it that standard regular expressions use that's different
from Perl-type ones?

The help file for grep refers to POSIX 1003.2 which looked a bit
daunting to delve into.  From my limited reading, it seems there are
different gegex "Engine Types" which seems to be getting somewhat
tangential to what I was working on.  I could probably avoid problems
if I always set perl=TRUE, but it would be good to know what basic and
extended regular expressions do that's different.  If someone has a
quick line or two describing it, I'd be interested to know.

Thanks

-- 
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.   
   ___    Patrick Connolly   
 {~._.~}          		 Great minds discuss ideas    
 _( Y )_  	  	        Middle minds discuss events 
(:_~*~_:) 	       		 Small minds discuss people  
 (_)-(_)  	                           ..... Anon
	  
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.



More information about the R-help mailing list