Please can you give me some regular expression help

Hi,
I'm trying to extract a number from a string. The string is of the form H970D80Dia4W19L19WT856 and I want to extract the number after the 'D', in this case 80. But regular expressions are confusing me, I can get this far
regexp(file.name,'[D]\d+','match')
Which gives 'D80', but I can't get rid of the 'D'. Can you help me with this? The strings may be different lengths and can have a different number of characters to the left and right of what I want to extract.
Also is there a good cheat sheet I can print for future reference?

 Accepted Answer

regexp('H970D80Dia4W19L19WT856','(?<=D)\d+','match')

2 Comments

Thank you very much for your quick response
(?<=D) is a "positive look behind assertion" which is itself not part of the match: The match is only valid if there is a "D" in front of it. Nice solution.

Sign in to comment.

More Answers (1)

c = regexp(file.name, 'D(\d+)', 'tokens')

1 Comment

Thanks for your response too, both answers are very helpful

Sign in to comment.

Categories

Products

Asked:

on 24 Aug 2016

Edited:

on 24 Aug 2016

Community Treasure Hunt

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

Start Hunting!