matching certain numbers at the end of a string
- by user697473
I have a vector of strings:
s <- c('abc1', 'abc2', 'abc3', 'abc11', 'abc12',
'abcde1', 'abcde2', 'abcde3', 'abcde11', 'abcde12',
'nonsense')
I would like a regular expression to match only the strings that begin with abc and end with 3, 11, or 12. In other words, the regex has to exclude abc1 but not abc11, abc2 but not abc12, and so on.
I thought that this would be easy to do with lookahead assertions, but I haven't found a way. Is there one?
EDIT: Thanks to posters below for pointing out a serious ambiguity in the original post.
In reality, I have many strings. They all end in digits: some in 0, some in 9, some in the digits in between. I am looking for a regex that will match all strings except those that end with a letter followed by a 1 or a 2. (The regex should also match only those strings that start with abc, but that's an easy problem.)
I tried to use negative lookahead assertions to create such a regex. But I didn't have any success.