How to extract strings with varied length by regular expression?
2 次查看(过去 30 天)
显示 更早的评论
As the title, I'm trying to extract substrings from strings. But the substrings have different lengths. For example,
str1 = '2018_a_myid_the_here';
str2 = '2018_b_yourid_t_here';
What I want are 'myid' and 'yourid', which are of different length. So I used following code:
expression = '_(\w+)+_';
match = regexp(file_name, expression, 'match');
And I got the result as '_a_myid_the_' and '_b_yourid_t_'. Is there a better way to extract out 'myid' and 'yourid' directly without any further slicing?
Thank you!
0 个评论
采纳的回答
Stephen23
2018-1-12
编辑:Stephen23
2018-1-13
>> regexp('2018_a_myid_the_here','(?<=^\d+_[a-z]_)[a-z]+','match')
ans =
'myid'
>> regexp('2018_b_yourid_t_here','(?<=^\d+_[a-z]_)[a-z]+','match')
ans =
'yourid'
For developing and experimenting with regular expressions you might like to download my Interactive Regular Expression tool:
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!