How to match a URL containing emojis using a regex?

后端 未结 3 885
无人及你
无人及你 2021-01-07 13:10

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

相关标签:
3条回答
  • 2021-01-07 13:39

    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.

    0 讨论(0)
  • 2021-01-07 14:01

    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?

    0 讨论(0)
  • 2021-01-07 14:02

    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.

    0 讨论(0)
提交回复
热议问题