1package eu.siacs.conversations.utils;
2
3import java.util.regex.Pattern;
4
5public class Patterns {
6
7 public static final Pattern URI_GENERIC =
8 Pattern.compile(
9 "(?<=^|\\s)(tel|xmpp|http|https|geo|mailto):[a-zA-Z0-9\\-._~:/?#\\[\\]@!$&'()*+,;=%]+");
10
11 public static final Pattern URI_TEL =
12 Pattern.compile("^tel:\\+?(\\d{1,4}[-./()\\s]?)*\\d{1,4}(;.*)?$");
13
14 public static final Pattern URI_HTTP = Pattern.compile("https?://\\S+");
15
16 public static Pattern URI_GEO =
17 Pattern.compile(
18 "geo:(-?\\d+(?:\\.\\d+)?),(-?\\d+(?:\\.\\d+)?)(?:,-?\\d+(?:\\.\\d+)?)?(?:;crs=[\\w-]+)?(?:;u=\\d+(?:\\.\\d+)?)?(?:;[\\w-]+=(?:[\\w-_.!~*'()]|%[\\da-f][\\da-f])+)*(\\?z=\\d+)?",
19 Pattern.CASE_INSENSITIVE);
20
21 private Patterns() {
22 throw new AssertionError("Do not instantiate me");
23 }
24}