我正在尝试编写一个从一段文本中删除网站的函数。我有:
removeWebsites<- function(text){
text = gsub("(http://|https://|www.)[[:alnum:]~!#$%&+-=?,:/;._]*",'',text)
return(text)
}
这处理了大量的问题,但不是一个流行的问题,即某种形式的问题xyz.com
我不希望.com
在上述正则表达式的末尾添加,因为它限制了该正则表达式的范围。但是我尝试编写更多的正则表达式,例如:
gsub("[[:alnum:]~!#$%&+-=?,:/;._]*.com",'',testset[10])
这有效,但它也将表单的电子邮件 ID 修改abc@xyz.com
为abc@
. 我不想要这个,所以我修改为
gsub("*((^@)[[:alnum:]~!#$%&+-=?,:/;._]*).com",'\\1',testset[10])
这留下了电子邮件ID,但停止识别表单的网站xyz.com
我知道我需要在此处进行某种设置差异,即此处解释的形式,但我无法实现它(主要是因为我无法完全理解它)。关于我如何解决我的问题的任何想法?
编辑:我尝试了消极的前瞻:
gsub("[[:alnum:]~!#$%&+-=?,:/;._](?!@)[^(?!.*@)]*.com",'',testset[10])
我收到“无效的正则表达式”错误。我相信在纠正方面的一点帮助可能会让这个工作......