ruby中的一个示例正则表达式将匹配任何表情符号?
发布时间:2020-12-16 22:59:49 所属栏目:百科 来源:网络整理
导读:我需要使用正则表达式在 Ruby中的字符串中匹配emojis.我已经尝试了几个unicode序列,似乎没有人完成这项工作.我也不确定表情符号的开始和结束范围在哪里. 解决方法 这个正则表达式匹配所有845表情符号,取自 Emoji unicode characters for use on the web: [
我需要使用正则表达式在
Ruby中的字符串中匹配emojis.我已经尝试了几个unicode序列,似乎没有人完成这项工作.我也不确定表情符号的开始和结束范围在哪里.
解决方法
这个正则表达式匹配所有845表情符号,取自
Emoji unicode characters for use on the web:
[u{203C}u{2049}u{20E3}u{2122}u{2139}u{2194}-u{2199}u{21A9}-u{21AA}u{231A}-u{231B}u{23E9}-u{23EC}u{23F0}u{23F3}u{24C2}u{25AA}-u{25AB}u{25B6}u{25C0}u{25FB}-u{25FE}u{2600}-u{2601}u{260E}u{2611}u{2614}-u{2615}u{261D}u{263A}u{2648}-u{2653}u{2660}u{2663}u{2665}-u{2666}u{2668}u{267B}u{267F}u{2693}u{26A0}-u{26A1}u{26AA}-u{26AB}u{26BD}-u{26BE}u{26C4}-u{26C5}u{26CE}u{26D4}u{26EA}u{26F2}-u{26F3}u{26F5}u{26FA}u{26FD}u{2702}u{2705}u{2708}-u{270C}u{270F}u{2712}u{2714}u{2716}u{2728}u{2733}-u{2734}u{2744}u{2747}u{274C}u{274E}u{2753}-u{2755}u{2757}u{2764}u{2795}-u{2797}u{27A1}u{27B0}u{2934}-u{2935}u{2B05}-u{2B07}u{2B1B}-u{2B1C}u{2B50}u{2B55}u{3030}u{303D}u{3297}u{3299}u{1F004}u{1F0CF}u{1F170}-u{1F171}u{1F17E}-u{1F17F}u{1F18E}u{1F191}-u{1F19A}u{1F1E7}-u{1F1EC}u{1F1EE}-u{1F1F0}u{1F1F3}u{1F1F5}u{1F1F7}-u{1F1FA}u{1F201}-u{1F202}u{1F21A}u{1F22F}u{1F232}-u{1F23A}u{1F250}-u{1F251}u{1F300}-u{1F320}u{1F330}-u{1F335}u{1F337}-u{1F37C}u{1F380}-u{1F393}u{1F3A0}-u{1F3C4}u{1F3C6}-u{1F3CA}u{1F3E0}-u{1F3F0}u{1F400}-u{1F43E}u{1F440}u{1F442}-u{1F4F7}u{1F4F9}-u{1F4FC}u{1F500}-u{1F507}u{1F509}-u{1F53D}u{1F550}-u{1F567}u{1F5FB}-u{1F640}u{1F645}-u{1F64F}u{1F680}-u{1F68A}] 我直接从Unicode表情符号的原始列表生成此正则表达式.算法在这里:https://github.com/franklsf95/ruby-emoji-regex. 用法示例: regex = /[u{203C}u{2049}u{20E3}u{2122}u{2139}u{2194}-u{2199}u{21A9}-u{21AA}u{231A}-u{231B}u{23E9}-u{23EC}u{23F0}u{23F3}u{24C2}u{25AA}-u{25AB}u{25B6}u{25C0}u{25FB}-u{25FE}u{2600}-u{2601}u{260E}u{2611}u{2614}-u{2615}u{261D}u{263A}u{2648}-u{2653}u{2660}u{2663}u{2665}-u{2666}u{2668}u{267B}u{267F}u{2693}u{26A0}-u{26A1}u{26AA}-u{26AB}u{26BD}-u{26BE}u{26C4}-u{26C5}u{26CE}u{26D4}u{26EA}u{26F2}-u{26F3}u{26F5}u{26FA}u{26FD}u{2702}u{2705}u{2708}-u{270C}u{270F}u{2712}u{2714}u{2716}u{2728}u{2733}-u{2734}u{2744}u{2747}u{274C}u{274E}u{2753}-u{2755}u{2757}u{2764}u{2795}-u{2797}u{27A1}u{27B0}u{2934}-u{2935}u{2B05}-u{2B07}u{2B1B}-u{2B1C}u{2B50}u{2B55}u{3030}u{303D}u{3297}u{3299}u{1F004}u{1F0CF}u{1F170}-u{1F171}u{1F17E}-u{1F17F}u{1F18E}u{1F191}-u{1F19A}u{1F1E7}-u{1F1EC}u{1F1EE}-u{1F1F0}u{1F1F3}u{1F1F5}u{1F1F7}-u{1F1FA}u{1F201}-u{1F202}u{1F21A}u{1F22F}u{1F232}-u{1F23A}u{1F250}-u{1F251}u{1F300}-u{1F320}u{1F330}-u{1F335}u{1F337}-u{1F37C}u{1F380}-u{1F393}u{1F3A0}-u{1F3C4}u{1F3C6}-u{1F3CA}u{1F3E0}-u{1F3F0}u{1F400}-u{1F43E}u{1F440}u{1F442}-u{1F4F7}u{1F4F9}-u{1F4FC}u{1F500}-u{1F507}u{1F509}-u{1F53D}u{1F550}-u{1F567}u{1F5FB}-u{1F640}u{1F645}-u{1F64F}u{1F680}-u{1F68A}]/ str = "I am a string with emoji ???????? and other Unicode characters 比如中文." str.gsub regex,'' # "I am a string with emoji and other Unicode characters 比如中文." 保留其他Unicode字符,例如亚洲字符. 编辑:我使用正则表达式来排除ASCII数字和符号.有关详细信息,请参阅How do I remove emoji from string的评论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |