Я пытаюсь выполнить сопоставление с шаблоном с помощью функции extract
из tidyr
.Я проверил свое регулярное выражение на сайте практики регулярных выражений, шаблон работает, и я использую lookbehind assertion
.
У меня есть следующий пример текста:
=[\"{ Key = source, Values = web,videoTag,assist }\",\"{ Key = type,
Values = attack }\",\"{ Key = team, Values = 2 }\",\"{ Key =
originalStartTimeMs, Values = 56496 }\",\"{ Key = linkId, Values =
1551292895649 }\",\"{ Key = playerJersey, Values = 8 }\",\"{ Key =
attackLocationStartX, Values = 3.9375 }\",\"{ Key =
attackLocationStartY, Values = 0.739376770538243 }\",\"{ Key =
attackLocationStartDeflected, Values = false }\",\"{ Key =
attackLocationEndX, Values = 1.7897727272727275 }\",\"{ Key =
attackLocationEndY, Values = -1.3002832861189795 }\",\"{ Key =
attackLocationEndDeflected, Values = false }\",\"{ Key = lastModified,
Values = web,videoTag,assist
Я хочу получить числа, следующие за attackLocationX
(все числа, следующие за любым текстом о месте атаки.
Использованиеследующий код с утверждением lookbehind, однако я не получаю результатов:
df %>%
extract(message, "x_start",'((?<=attackLocationStartX,/sValues/s=/s)[0-
9.]+)')
Эта функция вернет NA
, если совпадение с образцом не найдено, и мой целевой столбец - все значения NA
, несмотря на то, что я проверилшаблон на www.regexr.com
. Согласно документации, R
сопоставление с образцом поддерживает утверждения с задним числом, поэтому я не уверен, что еще здесь делать.