Validate and get exact number of characters using the regular expression

18 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

J. Alex Lee
J. Alex Lee il 8 Mar 2020
Try
out_str = regexp(str, '[A-Z]+-[0-9]{2}$', 'match');
  9 Commenti
Stephen23
Stephen23 il 12 Mar 2020
Modificato: Stephen23 il 12 Mar 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')

Accedi per commentare.

Più risposte (1)

dpb
dpb il 8 Mar 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 Commenti
dpb
dpb il 8 Mar 2020
Modificato: dpb il 8 Mar 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
Bhaskar R il 9 Mar 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.

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by