如何使用正则表达式匹配包含表情符号的 URL?
How to match a URL containing emojis using a regex?
如何编写正则表达式来匹配包含表情符号的 URL?正则表达式应匹配普通字母数字 URLs 以及 URLs 在域名中包含表情符号,路径 and/or 参数如:
http://.to
http://www..到/
http://.to/I❤️coding?ref=
当今大多数网络应用程序(包括但不限于社交网络、在线社区等)会自动检测 URL 用户以文本形式发布的内容并将其转换为超链接。尽管如此,其中几乎 none 个(包括 Whosebug)正确匹配 URL 个包含表情符号的表情符号,例如上面报告的示例,这些表情符号是有效的,100% 有效并且越来越受欢迎。
由于所有这些原因,当前的问题与使用任何编程语言的更现代 URL 匹配正则表达式的代码实现非常相关。
http://\S+
其中 \S+ 捕获所有非空白
诀窍是防止正则表达式过于贪婪,您可能需要一些额外的信息来帮助确定 url 的结尾,它是空格还是以某种方式封装?
要检查的正则表达式 URL 包含字母表
String alphabets= "(.*[a-zA-Z].*)";
要检查的正则表达式 URL 包含数字
String numbers= "(.*[0-9].*)";
要检查的正则表达式 URL 包含特殊字符
String special = "(.*[!,@,$,%,^,&,*,#,~,`,{,},%,|,(,),-,_,=,+,[,],;,:,',\",,,<,.,>,/,?].*$)";
要检查的正则表达式 URL 包含字母数字和表情符号
String emo="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&()-*/!+=])(?=\S+$).{size,}$";
根据需要调整大小并更改特殊字符。
此正则表达式匹配普通字母数字 URL 以及域名中包含表情符号的 URL,路径 and/or 参数:
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
请注意,将来添加新表情符号时,可能需要更新包含表情符号(即 \uXXXX-\uXXXX)的 Unicode 字符范围。
如何编写正则表达式来匹配包含表情符号的 URL?正则表达式应匹配普通字母数字 URLs 以及 URLs 在域名中包含表情符号,路径 and/or 参数如:
http://.to
http://www..到/
http://.to/I❤️coding?ref=
当今大多数网络应用程序(包括但不限于社交网络、在线社区等)会自动检测 URL 用户以文本形式发布的内容并将其转换为超链接。尽管如此,其中几乎 none 个(包括 Whosebug)正确匹配 URL 个包含表情符号的表情符号,例如上面报告的示例,这些表情符号是有效的,100% 有效并且越来越受欢迎。 由于所有这些原因,当前的问题与使用任何编程语言的更现代 URL 匹配正则表达式的代码实现非常相关。
http://\S+
其中 \S+ 捕获所有非空白
诀窍是防止正则表达式过于贪婪,您可能需要一些额外的信息来帮助确定 url 的结尾,它是空格还是以某种方式封装?
要检查的正则表达式 URL 包含字母表
String alphabets= "(.*[a-zA-Z].*)";
要检查的正则表达式 URL 包含数字
String numbers= "(.*[0-9].*)";
要检查的正则表达式 URL 包含特殊字符
String special = "(.*[!,@,$,%,^,&,*,#,~,`,{,},%,|,(,),-,_,=,+,[,],;,:,',\",,,<,.,>,/,?].*$)";
要检查的正则表达式 URL 包含字母数字和表情符号
String emo="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&()-*/!+=])(?=\S+$).{size,}$";
根据需要调整大小并更改特殊字符。
此正则表达式匹配普通字母数字 URL 以及域名中包含表情符号的 URL,路径 and/or 参数:
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
请注意,将来添加新表情符号时,可能需要更新包含表情符号(即 \uXXXX-\uXXXX)的 Unicode 字符范围。