我有一个在正则表达式网站上运行的正则表达式,但在我用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)
我收到错误说正则表达式错误但它在网站上有效。不知道如何让它在r中工作。 基本上我试图从文本中提取信息。以下是详细信息: 从上面的数据框架中,我需要提取以下内容:
1:此人的性别。在这种情况下,它将是男性(看Mr
)
2:表示属性值的数字。在这种情况下将是£500,000.00
。
3:受保护的百分比值,在我们的例子中为0%
。
4:利率值,在我们的例子中是4.8%
。