regexp to capture only certain length of characters

10 views (last 30 days)
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

Answers (2)

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

Sign in to comment.


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

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!

Translated by