Skip to content

Question to regular expressions

7 messages · Gabor Grothendieck, Antje, Hadley Wickham +1 more

#
Hi there,

I know, this question is not directly an R-help question but probably someone 
can give me a hint how to deal with the following problem.

I have a vector with file/folder names and want to filter for all entries which 
  have 6 numbers in a row and nothing else.

folders <- c("folder1", "f2", "F234562", "12345678", "234567", "912345", "333")

I'd like to get only "234567" and "912345".
Can anybody help me creating a regex for this???

For example this regex:

regexpr("[^:digit:$]{6}", folders)

would match "F234562", "12345678", "234567", "912345"


Antje
#
Try this:
[1] "234567" "912345"
On Tue, Dec 2, 2008 at 10:32 AM, Antje <niederlein-rstat at yahoo.de> wrote:
#
Hi Gabor,

it works! Thank you very much! But I still don't understand the difference 
between [0-9] and [:digit:]...

Ciao,
Antje


Gabor Grothendieck schrieb:
#
Try this:

"^[[:digit:]]{6}$"
On Tue, Dec 2, 2008 at 10:48 AM, Antje <niederlein-rstat at yahoo.de> wrote:
#
On Tue, Dec 2, 2008 at 9:48 AM, Antje <niederlein-rstat at yahoo.de> wrote:
You might find this site helpful:
http://regexp.resource.googlepages.com/analyzer.html

Copy in your attempt and Gabor's correction to see the difference more clearly.

Hadley
#
Thanks a lot again to all of you!!!

Antje



Antje schrieb:
#
Antje wrote:
If all else fails, read the help, here ?regex.  Both [0-9] and 
[[:digit:]] are character classes of digits, but the first contains only 
arabic numerals.  In some locales the second may contain other numerals 
(e.g. Japanese has other characters representing digits): however I 
believe that in the current R implementations that no other numerals are 
included in any locale.