Borrar filtros
Borrar filtros

Recovering text between parentheses using regexp

43 visualizaciones (últimos 30 días)
Giri
Giri el 7 de Mayo de 2018
Comentada: Fangjun Jiang el 7 de Mayo de 2018
Hi,
I am trying to create a regular expression using which i can recover the string between two parenthesis. I have created the following expression
exp='[^(]+.*[^)]+';
matchStr = regexp(str,exp,'match');
This expression works fine if the string is off any one of the formats mentioned below:
a) str = '(1r)';
b) str = '(0.5;0.5;'rrr')'; etc
but does not work if the string is off the form
str = '(r)'; or str = '(1)';
i.e. it doesn't pick up string which are just off 1 character between the parenthesis. I think i am missing something very basic here. Is it that regex will not work for single characters and will only work for strings?
Thanks in advance,
Regards,
Giri
  3 comentarios
Giri
Giri el 7 de Mayo de 2018
Thanks Rik..

Iniciar sesión para comentar.

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 7 de Mayo de 2018
exp = '[^()]*'; should be it.
  2 comentarios
Giri
Giri el 7 de Mayo de 2018
Thanks Fangjun for that.. it works fine... Can you please explain how this works? Is it like, it just ignores ( and ) in the text and takes everything else?
Fangjun Jiang
Fangjun Jiang el 7 de Mayo de 2018
doc regexp
[^c1c2c3]: Any character not contained within the brackets.
expr*: 0 or more times consecutively.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre String Parsing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by