regexp to capture only certain length of characters

5 vues (au cours des 30 derniers jours)
Rashmil Dahanayake
Rashmil Dahanayake le 7 Août 2014
Commenté : Azzi Abdelmalek le 7 Août 2014
Hi, I'm trying to capture words with 4 characters only. A word consists or alphanumeric characters.(no symbols of white space)
str4='4-44g 4541 75872 a4cd stuvw';
patt4='(\w{4,4})';
regexp(str4,patt4,'match')
I'm expecting 4541 a4cd as the correct answer. However my code outputs stuv & 7587 in addition. How can I correct this

Réponses (2)

Rashmil Dahanayake
Rashmil Dahanayake le 7 Août 2014
This could be the solution
str4='4-44g 4541 75872 abcd stuvw';
patt4='\<\w{4}\>';
regexp(str4,patt4,'match')
  1 commentaire
Azzi Abdelmalek
Azzi Abdelmalek le 7 Août 2014
This doesn't work for underscore. For example
str4='4-44g 454_ 75872 abcd stuvw'

Connectez-vous pour commenter.


Azzi Abdelmalek
Azzi Abdelmalek le 7 Août 2014
str4='4-44g 4541 75872 a4cd stuvw';
regexpi([' ' str4 ' '],'(?<=[^0-9,a-z])[0-9,a-z]{4}(?=[^0-9,a-z])','match')

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by