How to match a URL containing emojis using a regex?

我们两清 提交于 2019-12-01 01:50:18

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.

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?

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!