У меня есть регулярное выражение, которое работает на веб-сайте регулярных выражений, но не работает, когда я копирую его в R. Ниже приведен код для воссоздания моего фрейма данных:
text <- data.frame(page = c(1,1,2,3), sen = c(1,2,1,1),
text = c("Dear Mr case 1",
"the value of my property is £500,000.00 and it was built in 1980",
"The protected percentage is 0% for 2 years",
"The interest rate is fixed for 2 years at 4.8%"))
регулярное выражение, работающее на веб-сайте:https://regex101.com/r/OcVN5r/2
Ниже приведены коды R, которые я пробовал до сих пор, и ни одна из них не работает.
library(stringr)
patt = "dear\\s+(mr|mrs|miss|ms)\\b[^£]+(£[\\d,.]+)(?:\\D|\\d(?![\\d.]*%))+([\\d.]+%)(?:\\D|\\d(?![\\d.]*%))+([\\d.]+%)"
str_extract(text, patt)
grepl(pattern = patt, x = text)
Я получаю сообщение о том, что регулярное выражение неверно, но оно работает на веб-сайте.Не уверен, как заставить его работать в р.В основном я пытаюсь извлечь куски информации из текста.Ниже приведены подробности: Из приведенного выше кадра данных мне нужно извлечь следующее:
1: Пол человека.В этом случае это будет мужчина (глядя на Mr
)
2: число, представляющее значение свойства.в этом случае будет £500,000.00
.
3: Защищенное процентное значение, которое в нашем случае будет 0%
.
4: Значение процентной ставки и в нашем случае это4.8%
.