Abbreviate regexp: match a if present, else match b
Mostra commenti meno recenti
dear community,
can someone abbreviate the follwing if else in a single regexp?
str1='this is } and this is }, and this is }';
str2='this is } and this is } and this is }';
if regexp(str1,'},','once')
where=regexp(str1,'},')
else
where=regexp(str1,'}')
end
if regexp(str2,'},','once')
where=regexp(str2,'},')
else
where=regexp(str2,'}')
end
i tried to adapt the example of the documentation, but was not able to make it work
(?(cond)expr1|expr2)
If condition cond is true, then match expr1. Otherwise, match expr2.
'Mr(s?)\..*?(?(1)her|his) \w*' matches text that includes her when the text begins with Mrs, or that includes his when the text begins with Mr.
regexp(str1,'}(,?)(?(1)},|})')
best regards
Jonas
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Characters and Strings in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!