Say I want to use Matlab's or Octave's regexp function to find where the substring 'var' occurs when preceded by either , or : and also followed by either , or : (comma or colon). For example, say
line = ':var,var:'
In this case I want the answer to be [2 6], because 'var' starts at positions 2 and 6.
However, if I do
>> regexp(line, '[,:]var[,:]') + 1
ans = 2
I only get the first position, 2, but not the second position, 6. This is because Matlab considers the comma part of the first occurrence, so it is discarded and not used for the second.
How can I make regexp consider overlapping matches and return [2 6]?