我试图从这个模式中提取状态——在本例中是"活动"一词:

状态\n活动\n某地\

使用这个正则表达式:https://regex101.com/r/xegX00/1,但我无法使用str\u extract使其在R中工作.有双重逃生似乎很奇怪,但我在这里try 了所有可能的组合,但都无法实现.感谢您的帮助!

mutate(status=str_extract(df, "(?<=Status\\\\n)(.*?)(?=\\\\)")) 

推荐答案

您的正则表达式失败,因为您针对错误的文本进行了测试.

"Status\nActive\nHometown"是表示(定义、表示)以下plain textstring literal:

Status
Active
Hometown

In regular expression testers, you need to test against plain text!

要匹配换行符,可以使用"\n"(即换行符、LF字符)或"\\n",这是一个与换行符匹配的正则表达式转义.

您可以使用

library(stringr)
x <- "Status\nActive\nHometown\n"
stringr::str_extract(x, "(?<=Status\\n).*") ## => [1] "Active"
## or
stringr::str_extract(x, "(?<=Status\n).*")  ## => [1] "Active"

请参见R demo onlinecorrect regex test.

注意,在模式末尾不需要\n,因为在ICU正则表达式风格中(在R stringr正则表达式方法中使用),.模式匹配除换行符以外的任何字符,所以只需使用.*匹配整行即可.

R相关问答推荐

如何使用ggplot重新绘制LASO回归图?

R中的枢轴/转置

R等效于LABpascal(n,1)不同的列符号

使用tidyverse / Mutate的存款账户余额

使用tidyverse方法绑定行并从一组管道列表执行左连接

如何从R中的字符串元素中减go 一个数字?

derrr mutate case_when grepl不能在R中正确返回值

R spatstat Minkowski Sum()返回多个边界

您是否可以折叠R中的重复行,同时保留基于所选列的值?

如何识别倒排的行并在R中删除它们?

R -如何分配夜间GPS数据(即跨越午夜的数据)相同的开始日期?

从数据创建数字的命名列表.R中的框

创建在文本字符串中发现两个不同关键字的实例的数据框

在r中整理图例和堆叠图的问题

如何从嵌套数据中自动创建命名对象?在R中

为什么不能使用lApply在包装函数中调用子集

如何在shiny 的应用程序 map 视图宣传单中可视化单点

conditionPanel不考虑以下条件

将仪表板中的值框大小更改为Quarto

将y轴格式更改为R中的百分比