Я успешно реализовал отрицательный просмотр в своем коде регулярных выражений в SAS.Однако, есть несколько «слов», которые могут свести на нет искомую строку.В частности, я ищу фразу (из медицинских заметок), которая говорит: «производство карбапенмазы» или «подтверждение карбапенамазы», и иногда этим фразам может предшествовать «не производство карбапенемазы» или «возможное производство карбапенамазы», и я нене хочуУзнав, что отрицательные обратные просмотры требуют, чтобы квалифицирующие слова (если> 1) имели одинаковую длину, мне нужно создать 2 отдельных выражения регулярного выражения для захвата «не» и «возможно», как в:
*!!! Create template to identify key phrases in the comment/note;
retain carba1 carba2 carba3;
if _n_ = 1 then do; /*probable*/
carba1 = prxparse("/(?<!not\s)ca[bepr]\w*?\s*?(conf|posi|prod|\+)/i");
carba2 = prxparse("/(?<!possible|probable\s)ca[bepr]\w*?\s*?
(conf|posi|prod|\+)/i");
carba3 = prxparse("/(?<!not a\s)ca[bepr]\w*?\s*?(conf|posi|prod|\+)/i");
end;
if prxmatch(carba1,as_comments) > 0 or prxmatch(carba2,as_comments) > 0 or
prxmatch(carba3,as_comments) > 0;
Есть ли слово для этого, которое сократит время выполнения, или я застрял с этим?Любые советы / комментарии приветствуются.