Matlab еще один вопрос регулярного выражения - PullRequest
0 голосов
/ 05 января 2019

Я хочу сопоставить токен, если он не равен точно другой строке:

str ='354 : example - asd: 3, test:';
str2='354 : example2 - airplane,';
[~,tok]=regexp(str,'\d+ : (\w+) - (?(~asd)\w+)','match','tokens','once','warnings')

Я бы хотел сопоставить airplane, но не asd, но я не могу понять, как заставить условие работать (пример на MathWorks не очень полезен).

1 Ответ

0 голосов
/ 05 января 2019

[~,tok]=regexp(str2,'\d+ : (\w+) - (?:asd)*(\w+)*','match','tokens','once','warnings') это работает для меня.

пожалуйста, укажите, есть ли недостатки или лучшие решения. спасибо @Deep за указание на группу, но не возможность захвата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...