[英]How do i match with regex special chars that are not alphanumeric whilst ignoring emojis?
我目前遇到問題,我不知道如何在忽略表情符號的同時使正則表達式匹配特殊字符。
例如,我要匹配此字符串中不是表情符號的特殊字符:❤️𝓉𝑒𝓈𝓉𝒾𝓃𝑔❤️
目前作為我的正則表達式
[^\x00-\x7F]+
當前輸出:❤️𝓉𝑒𝓈𝓉𝒾𝓃𝑔❤️
想要的輸出:𝓉𝑒𝓈𝓉𝒾𝓃𝑔
我將如何解決這個問題?
也許,此表達式可能有效:
$re = '/[\x{1f300}-\x{1f5ff}\x{1f900}-\x{1f9ff}\x{1f600}-\x{1f64f}\x{1f680}-\x{1f6ff}\x{2600}-\x{26ff}\x{2700}-\x{27bf}\x{1f1e6}-\x{1f1ff}\x{1f191}-\x{1f251}\x{1f004}\x{1f0cf}\x{1f170}-\x{1f171}\x{1f17e}-\x{1f17f}\x{1f18e}\x{3030}\x{2b50}\x{2b55}\x{2934}-\x{2935}\x{2b05}-\x{2b07}\x{2b1b}-\x{2b1c}\x{3297}\x{3299}\x{303d}\x{00a9}\x{00ae}\x{2122}\x{23f3}\x{24c2}\x{23e9}-\x{23ef}\x{25b6}\x{23f8}-\x{23fa}]/u';
$str = '❤️𝓉𝑒𝓈𝓉𝒾𝓃𝑔❤️';
$subst = '';
echo preg_replace($re, $subst, $str);
𝓉𝑒𝓈𝓉𝒾𝓃𝑔️
如果您想探索/簡化/修改該表達式,請在此演示的右上方面板中進行解釋。
我認為您的帖子標題與正文不符。
表情符號和AlphaNum字符之間幾乎沒有重疊。
有幾個鍵帽表情符號,但是由於它們的順序超出
前幾位不與字母數字重疊,僅需輸入
在alphanum類前面的負面展望。
'~(?![0-9]\\x{FE0F}\\x{20E3}|\\x{2139})[\\pL\\pN]+~'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.