如何编写正则表达式来匹配包含emojis的URL?regex应该匹配普通字母数字URL以及包含域名、路径和/或参数(如:
http://www.至/
当今大多数网络应用程序(包括但不限于社交网络、在线社区等)自动检测用户以文本形式发布的URL,并将其转换为超链接。尽管如此,它们中几乎没有一个(包括StackOverflow)能够正确匹配包含表情符号的URL,比如上面报告的例子,它们都是有效的,100%起作用,并且越来越受欢迎。由于所有这些原因,当前的问题与使用任何编程语言实现更现代的URL匹配正则表达式的代码实现非常相关。
发布于 2017-10-03 15:03:06
这个正则表达式匹配普通字母数字URL和包含域名、路径和/或参数中的表情符号的URL:
https?:\/\/(www\.)?[-a-zA-Z0-9\u1F60-\uFFFF@:%._\+~#=]{2,256}\.[a-z]{2,256}\b([-a-zA-Z0-9\u1F60-\uFFFF@:%_\+.~#?&//=]*)在这里尝试一下:https://regexr.com/3gsl9
注意,包含emojis (即\uXXXX-\uXXXX)的unicode字符的范围将来可能需要在添加新的emojis时进行更新。
发布于 2017-10-03 09:59:24
发布于 2017-10-03 10:01:25
检查URL包含字母的Regex
String alphabets= "(.*[a-zA-Z].*)";检查URL包含数字的Regex
String numbers= "(.*[0-9].*)";检查URL包含特殊字符的Regex
String special = "(.*[!,@,$,%,^,&,*,#,~,`,{,},%,|,(,),-,_,=,+,[,],;,:,',\",,,<,.,>,/,?].*$)";检查URL的Regex包含字母、数字和表情符号
String emo="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&()-*/!+=])(?=\\S+$).{size,}$";根据您的需要调整大小并更改特殊字符。
https://stackoverflow.com/questions/46541831
复制相似问题