How can I write a regular expression to match URLs that contain emojis? The regex should match ordinary alphanumeric URLs along with URLs containing emojis in the domain nam
Regex to check URL contains Alphabets
String alphabets= "(.*[a-zA-Z].*)";
Regex to check URL contains Numbers
String numbers= "(.*[0-9].*)";
Regex to check URL contains special characters
String special = "(.*[!,@,$,%,^,&,*,#,~,`,{,},%,|,(,),-,_,=,+,[,],;,:,',\",,,<,.,>,/,?].*$)";
Regex to check URL contains alphanumeric and emojis
String emo="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&()-*/!+=])(?=\\S+$).{size,}$";
Adjust size and change the special characters as per your need.
http://\S+
Where \S+ captures all non whitespace
The trick is keeping the regex from being too greedy, you may need some additional info to help determine the end of the url, is it whitespace or encapsulated in some way?
This regular expression matches ordinary alphanumeric URLs along with URLs containing emojis in the domain name, path and/or parameters:
https?:\/\/(www\.)?[-a-zA-Z0-9\u1F60-\uFFFF@:%._\+~#=]{2,256}\.[a-z]{2,256}\b([-a-zA-Z0-9\u1F60-\uFFFF@:%_\+.~#?&//=]*)
Try it out here: https://regexr.com/3gsl9
Notice that the range of unicode characters that include emojis (i.e. \uXXXX-\uXXXX) might need to be updated in future when new emojis will be added.