Код: Выделить всё
List bannedSites = ["spam1.com", "spam2.com", "spam3.com"];
Код: Выделить всё
Dear Arezzo,
Please check out my website at spam1.com or http://www.spam1.com
or http://spam1.com or spam1 dot com to win millions of dollars in prizes.
Thank you.
Big Spammer
Код: Выделить всё
String input = "Dear Arezzo,\n"
+ "Please check out my website at spam1.com or http://www.spam1.com"
+ "or http://spam1.com or spam1 dot com to win millions of dollars in prizes."
+ "Thank you.";
List bannedSites = Arrays.asList("spam1.com", "spam2.com", "spam3.com");
StringBuilder re = new StringBuilder();
for (String bannedSite : bannedSites) {
if (re.length() > 0)
re.append("|");
re.append(String.format("http://(www\\.)?%s\\S*|%1$s",
Pattern.quote(bannedSite)));
}
System.out.println(input.replaceAll(re.toString(), "LINK REMOVED"));
Как я могу изменить регулярное выражение для целевых текстовых форматов, таких как эти?
Код: Выделить всё
spam1 dot com
spam1[.com]
spam1 .com
spam1 . com
Код: Выделить всё
Dear Arezzo,
Please check out my website at [LINK REMOVED] or [LINK REMOVED]
or [LINK REMOVED] or [LINK REMOVED] to win millions of dollars in prizes.
Thank you.
Big Spammer
Подробнее здесь: https://stackoverflow.com/questions/771 ... t-com-from
Мобильная версия