如何使用正则表达式提取像'&书信电报;9f>&书信电报;98>&书信电报;82>';从R中的字符串

如何使用正则表达式提取像'&书信电报;9f>&书信电报;98>&书信电报;82>';从R中的字符串,r,wildcard,R,Wildcard,我正在尝试使用r来提取类似“”的代码,以便使用r和正则表达式在字符串中获取表情符号代码,但没有成功,因为字符串中有多个。有人能提供一些关于如何使用正则表达式来提取它的建议吗?我现在正在使用单独的函数 例如:对于这串“Sooooo…”。。发生这种情况\r\n(我说是)“我希望得到” 将表达式尝试为“” 像 column1您可能正在寻找以下内容。我已经添加了一些额外的案例来说明这个解决方案是如何通用的。(){3,}表示匹配三个或更多连续的的任何模式,其中?告诉R不贪婪地匹配。重要的是,perl=T或

我正在尝试使用r来提取类似“”的代码,以便使用r和正则表达式在字符串中获取表情符号代码,但没有成功,因为字符串中有多个。有人能提供一些关于如何使用正则表达式来提取它的建议吗?我现在正在使用单独的函数

例如:对于这串“Sooooo…”。。发生这种情况\r\n(我说是)“我希望得到”

将表达式尝试为“” 像


column1您可能正在寻找以下内容。我已经添加了一些额外的案例来说明这个解决方案是如何通用的。
(){3,}
表示匹配三个或更多连续的
的任何模式,其中
告诉R不贪婪地匹配。重要的是,
perl=T
{3,}
不起作用:

s1这个怎么样

我在测试用例@gersht上运行了这个正则表达式,在它们的答案中使用了相同的测试用例

library(stringr)

tststr <- "Sooooo.. this happened <9f><92><8d> \r\n(I said yes)"
str_extract_all(tststr, "(<[0-9a-f]{2}>)+")
# [1] "<9f><92><8d>"

tststr <- "Sooooo.. this happened <9f><92><8d><93> \r\n(I said yes)"
str_extract_all(tststr, "(<[0-9a-f]{2}>)+")
# [[1]]
# [1] "<9f><92><8d><93>"


tststr <- "Sooooo.. this happened <9f><92><8d> \r\n(I said yes) <9f><92><8d>"
str_extract_all(tststr, "(<[0-9a-f]{2}>)+")
# [[1]]
# [1] "<9f><92><8d>" "<9f><92><8d>"
库(stringr)

你试过什么?那么预期的结果是什么呢?一两个示例字符串也会很有帮助。添加了上面的详细信息@gershthow关于更明确地使用您的模式—类似于
而不是
贪婪/懒惰的正则表达式—可能是您想要的。