正则表达式不在R中工作但在网站上工作。文本挖掘

时间:2018-05-10 14:51:56

标签: r regex text-mining

我有一个在正则表达式网站上运行的正则表达式,但在我用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%

0 个答案:

没有答案