我想比较flutter中的两个url链接,看看它们是否相似,然后返回一个真值。一个例子是比较以下链接
https://stackoverflow.com/
https://stackoverflow.com/questions/ask
我会这样做:
var link1 = 'https://stackoverflow.com/';
var link2 = 'https://stackoverflow.com/questions/ask';
print(link2.contains(link1)); => it will return true
这个stackerflow答案显示用于域名匹配的regex。你可以这样使用它:
final domainRegex = RegExp(r"^(?:https?://)?(?:[^@n]+@)?(?:www.)?([^:/n?]+)");
var firstUrl = 'https://stackoverflow.com/';
var secondUrl = 'https://stackoverflow.com/questions/ask';
var firstDomain = domainRegex.firstMatch(first_url)?.group(1); //stackoverflow.com
var secondDomain = domainRegex.firstMatch(second_url)?.group(1); //stackoverflow.com
print(firstDomain == secondDomain); //returns true