# Validate and get exact number of characters using the regular expression

13 visualizaciones (últimos 30 días)
Bhaskar R el 8 de Mzo. de 2020
Comentada: Bhaskar R el 12 de Mzo. de 2020
Hi all,
I am using MATLAB R2016a version and working on a chacters set like
str = 'ENGINE-45'; % this is okay(digits are 2 after hyphen)
where i need to validate and get as numbers of digits after hyphen (-), it should be 2 digtits but in some case it is 3, 4, 5 number digits like
str = 'ACCCAT-455'; % this is not okay(3 digits)
str = 'VCCASNSRR-12344'; % this is not okay(5 digits)
I have used reguler expresion to get charcters and digits as
out_str = regexp(str, '[A-Z]+-[0-9]{2}', 'match');
ans =
'VCCASNSRR-12' % used {2} but where inputs are 5, tryiing to restrict this to only 2 char
but this is not what i required i need to get if and only 2 digits after hyphen?
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
dpb el 8 de Mzo. de 2020
Editada: dpb el 8 de Mzo. de 2020
Two exactly, not <=2?
'VCCASNSRR-1' % OK or not?

Iniciar sesión para comentar.

### Respuesta aceptada

J. Alex Lee el 8 de Mzo. de 2020
Try
out_str = regexp(str, '[A-Z]+-[0-9]{2}\$', 'match');
##### 9 comentariosMostrar 7 comentarios más antiguosOcultar 7 comentarios más antiguos
Stephen23 el 12 de Mzo. de 2020
Editada: Stephen23 el 12 de Mzo. de 2020
@J. Alex Lee: yes thank you, fixed now.
@Bhaskar R: use an anchor. It worked for me:
regexp(str, '^[A-Z]{6}-\d{5}-\d{2}\$', 'match', 'once')
Bhaskar R el 12 de Mzo. de 2020
Yes sir, It worked perfectly
Thank you :-)

Iniciar sesión para comentar.

### Más respuestas (1)

dpb el 8 de Mzo. de 2020
I can get you closer, but not exactly right...
regexp(s,'-\d{2}\>','match')
will return only matches of exactly two digits after the "-", but for those cases that do match, also returns the leading "-"
I'm not sure how to prevent that...I'm pretty lame at regular expressions.
##### 7 comentariosMostrar 5 comentarios más antiguosOcultar 5 comentarios más antiguos
dpb el 8 de Mzo. de 2020
Editada: dpb el 8 de Mzo. de 2020
My thinking for past 40 years! I like the quip about only aliens...am in full agreement! :)
Some people when confronted with a problem think "I know, I'll use regular expressions." Now they have two problems.
Bhaskar R el 9 de Mzo. de 2020
Thank for the for the response dpb, I have data varying with another string so I had to stick to use only reguler expressions only as of now.

Iniciar sesión para comentar.

### Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!

Translated by