【发布时间】:2013-10-13 03:27:16
【问题描述】:
我正在尝试使用 stringr 库从一个大而杂乱的文件中提取电子邮件。
str_match 不允许 perl=TRUE,而且我无法找出转义字符来使其工作。
有人可以推荐一个相对健壮的正则表达式,可以在下面的上下文中工作吗?
c("larry@gmail.com", "larry-sally@sally.com", "larry@sally.larry.com")->emails
"SomeRegex"->regex
str_match(emails, regex)
【问题讨论】:
-
嗯,您对 SomeRegex 的最佳猜测是什么?另外,我认为您的示例应该包括您不希望匹配的案例。我可以将所有这些都与
.*匹配,对吗? -
如果我使用
grep("@", emails),它匹配正确。 -
另外,
str_match提取第一个匹配组。这是您想要的还是要提取所有匹配的组? -
在
R中,grep 通常将多个字符串的向量与一个正则表达式匹配 -
@hwnd 我的印象是 OP 想要的。