regexp with _ recognized as a letter

2 visualizzazioni (ultimi 30 giorni)
Luca cadalo
Luca cadalo il 7 Apr 2017
Commentato: Guillaume il 7 Apr 2017
when you use regexp regexp(Date, '(?<=Month=)\w+', 'match')
Date=Year2012_MonthMay_Day05
this character '_' is recognized as a letter??? so the information of the month can not be separated properly

Risposte (1)

Walter Roberson
Walter Roberson il 7 Apr 2017
\w does not match "letters"
"\w Any alphabetic, numeric, or underscore character. For English character sets, \w is equivalent to [a-zA-Z_0-9]"
If you want to match English letters then use [a-zA-Z]
  2 Commenti
Luca cadalo
Luca cadalo il 7 Apr 2017
so, in that case, you can not use \w
Guillaume
Guillaume il 7 Apr 2017
No you cannot use \w. It's trivial to replace it with something that would work. I assume
regexp(Date, '(?<=Month)[^_]+', 'match')
would probably work for you. Note that I've removed the = you had after Month since it would have failed to match your example string.

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by