regexp to capture only certain length of characters

2 ビュー (過去 30 日間)
Rashmil Dahanayake
Rashmil Dahanayake 2014 年 8 月 7 日
コメント済み: Azzi Abdelmalek 2014 年 8 月 7 日
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

回答 (2 件)

Rashmil Dahanayake
Rashmil Dahanayake 2014 年 8 月 7 日
This could be the solution
str4='4-44g 4541 75872 abcd stuvw';
patt4='\<\w{4}\>';
regexp(str4,patt4,'match')
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 8 月 7 日
This doesn't work for underscore. For example
str4='4-44g 454_ 75872 abcd stuvw'

サインインしてコメントする。


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

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by