Extract info using regular expression matching

2 次查看(过去 30 天)
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 个评论
Murugan C
Murugan C 2022-3-24
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 2022-3-24
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?

请先登录,再进行评论。

采纳的回答

Rik
Rik 2022-3-24
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Variables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by