difference between [0-9] n times and [0-9]{n} in R regexp
r, regex
Solution
This is a bug in the TRE library related to greedy modifiers and capture groups. See:
- SO question with similar issue
- Issue #11 on TRE repo
- Issue #21.
Problem
Both are supposed to the best of my knowledge to be the same but I actually see a difference, look at this minimal example from this question: ``` a<-c("/Cajon_Criolla_20141024","/Linon_20141115_20141130", "/Cat/LIQUID", "/c_puertas_20141206_20141107", "/C_Puertas_3_20141017_20141018", "/c_puertas_navidad_20141204_20141205") sub("(.*?)_([0-9]{8})(.*)$","\\2",a) [1] "20141024" "20141130" "/Cat/LIQUID" "20141107" "20141018" [6] "20141205" sub("(.*?)_([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])(.*)$","\\2",a) [1] "20141024" "20141115" "/Cat/LIQUID" "20141206" "20141017" [6] "20141204" ``` What am I missing? Or is this a bug?