我正在尝试从大量回声报告中提取特定类型心脏功能障碍(舒张功能障碍)的程度( Mild
/ Moderate
/ )。Severe
线条通常这样表达:“轻度LV 舒张功能障碍”或“轻度舒张功能障碍”。在这里,“温和”是我要提取的。
我写了以下模式:
pattern <- regex("(\\b\\w+\\b)(?= (lv )?(d(i|y)astolic|distolic) d(y|i)sfunction)",
ignore_case = FALSE)
现在,让我们看看结果(记住我想要“轻度”部分而不是“LV”部分):
str_view_all(df$echo, pattern)
正如您在“轻度舒张功能障碍”之类的字符串中看到的那样,模式正确选择了“轻度”,但是当涉及到“轻度 LV 舒张功能障碍”时,模式选择了“LV”,即使我已经在lv
内部引入了一个积极的前瞻(?= ( lv)?)
结构。
有人知道我在做什么错吗?