[R] regexpr help (match.length=0)
eriki at ccbr.umn.edu
Tue Jun 1 22:43:26 CEST 2010
McGehee, Robert wrote:
> Sorry if this is more of a regex question than an R question. However,
> help would be appreciated on my use of the regexpr function.
> In the first example below, I ask for all characters (a-z) in 'abc123';
> regexpr returns a 3-character match beginning at the first character.
>> regexpr("[[:alpha:]]*", "abc123")
>  1
>  3
> However, when the text is flipped regexpr, and I ask for a match of all
> characters in '123abc', regexpr returns a zero-character match beginning
> at the first character. Can someone explain what a zero length match
> means (i.e. why not return -1), and why the result isn't 4,
It means it matches 0 characters, which is fine since you use *, which
means match 0 or more occurrences of the regex. It sounds like you want
+ instead of *. Also see gregexpr.
>> regexpr("[[:alpha:]]*", "123abc")
>  1
>  0
More information about the R-help