Expresión regular para filtrar "@" y algunas URL

Ayer que estaba analizando una serie de textos en japonés, estuve intentando hacer una expresión regular que me ayudara a filtrar URL y algunas palabras que comenzaban con arroba y podían terminar con 2 puntos.

Aunque necesitaba implementarlo en Java, primero hice pruebas en Python para evitarme la pena de tener que hacer una clase pequeña.

Por supuesto, la parte de la URL es muy común, así que en vez que reinventar el hilo negro, mejor busqué en internet. Al final, terminé con ésta:

String a = "El texto con arrobas y URL";

System.out.println(a.replaceAll("(^|\\b)?@\\w+:?(\\b)?|(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?","");

Sé que hay más opciones para filtrar la URL, pero ésta cumplió el trabajo.

Por cierto, @mecart comentó que parecía un nuevo smiley 😛