Extract info using regular expression matching

Hello together,
I was trying to do some regurlare expression, I am getting correct output which i was expecting. can you please help me
myinp = {['getval' ('MYINFO\ECE1') '==19 & (getval(' 'MYDataCode\CSE' ') >= 4) & (getval(' 'MYCHANGE\DEPT' ') < 6'] };
[a,b]=regexp(myinp,'([^"])','tokens');
%expected output should be like
a{1,1} = getval('MYINFO\ECE1')
a{1,2} = getval('MYDataCode\CSE')
a{1,3} = getval('MYCHANGE\DEPT')

3 commentaires

myinp = {['getval' ('MYINFO\ECE1') '==19 & (getval(' 'MYDataCode\CSE' ') >= 4) & (getval(' 'MYCHANGE\DEPT' ') < 6'] }
myinp = 1×1 cell array
{'getvalMYINFO\ECE1==19 & (getval(MYDataCode\CSE) >= 4) & (getval(MYCHANGE\DEPT) < 6'}
There are no quotes anywhere in this cellstr. Or is the actual input different from what you show us here?
this is my input
myinp = {['getval(' '''MYINFO\ECE1''' ')' '==19 & (getval(' '''MYDataCode\CSE''' ') >= 4) & (getval(' '''MYCHANGE\DEPT''' ') < 6)'] }
myinp = 1×1 cell array
{'getval('MYINFO\ECE1')==19 & (getval('MYDataCode\CSE') >= 4) & (getval('MYCHANGE\DEPT') < 6)'}
Stephen23
Stephen23 le 24 Mar 2022
Your text does not have any double quote characters, that regular expression will match everything.
What is the purpose of the superfluous scalar cell array?

Connectez-vous pour commenter.

 Réponse acceptée

Maybe this is what you need?
myinp = {['getval(' '''MYINFO\ECE1''' ')' '==19 & (getval(' '''MYDataCode\CSE''' ') >= 4) & (getval(' '''MYCHANGE\DEPT''' ') < 6)'] };
[a,b]=regexp(myinp{1},'getval\(''([^'']*)''\)','match')
a = 1×3 cell array
{'getval('MYINFO\ECE1')'} {'getval('MYDataCode\CSE')'} {'getval('MYCHANGE\DEPT')'}
b = 1×3
1 30 64

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by