我对正则表达式了解不多,我主要只是使用 RegExr 进行猜测和检查,并想出适合我需求的表达式。我使用 Tasker 在手机上制作了一个通知阅读器,我想使用正则表达式将 URL 替换为网站名称,例如:
“来自<person>的新消息:嘿,看看这个https://www.youtube.com/watch?=whatever”
我想将 URL 替换为“来自 youtube.com 的链接”为了让它听起来不那么烦人,特别是当有人发送一个非常长的链接时,比如来自亚马逊或 Facebook。
我相当确定 Tasker 可以利用正则表达式返回值,所以我想利用这一点从文本中提取 URL 并仅返回网站的名称,而不管发送的是什么 URL。
有人能帮我为此建立一个合适的表达吗?
谢谢。
答案1
好吧,我明白了。我使用了这个正则表达式:
(https?:\/\/([^\/ \n\r]*)((([^\. \n\r]*)\.?)*)[^ \n\r]*)
这是替换
(link from $2)
而且它运行得很好。它仍然无法从某些位置获取 URL,但大多数时候它都能正常工作,这几乎就是我想要的。如果您知道更优雅的解决方案,请告诉我,但目前这对我来说应该没问题。