I'm trying to find the location of open parenthesis, '(', that are preceded by a number, but not when that number is an integer also preceded by the characters 'O' or 'S'.
str = '12()+F34()+O56()';
should return ind = [3,9], i.e. the open parenthesis following the 12 and 34, but not O56
I tried this:
ind = regexp(str,'(?<=((?<![OS])[0-9]+))[\(]');
but it gives me all of them (ind:[3,9,15]). It does however exclude the cases when there is just a single number after 'O' or 'S' (e.g. str = '12()+F34()+O5()'; -> ind:[3,9])
Does anyone know the proper regular expression for this?
Matlab version: 18.104.22.1684 (R2011b)