我有一個電報機器人,我想洗掉所有特殊字符,只回傳數字和 AZ,但問題是我的正則運算式模式可以洗掉除數字以外的任何表情符號:1??2??3??4??5??6??
我也想洗掉表情符號
所以這是我的模式:
text = '1??Hi =) 1.This regex removes 2??all special 6??characters like this !@$#%^&*()_ =~`/\><.??4??'
text.toUpperCase().match(/[a-z] |\d (?:\.\d )?/gi)
.map((m) => (isNaN(m) ? m : m))
//Current output :
// [1,'HI',1,'THIS','REGEX','REMOVES',2,'ALL', 'SPECIAL',6,'CHARACTERS', 'LIKE','THIS']
//What I want :
// ['HI',1,'THIS','REGEX','REMOVES','ALL', 'SPECIAL','CHARACTERS', 'LIKE','THIS']
我也不知道為什么它從字串中洗掉了最后一個數字表情符號!(4??)
uj5u.com熱心網友回復:
這些數字是表情符號。要洗掉它們,請使用以下命令:
text = '1??Hi =) 1.This regex removes 2??all special 6??characters like this !@$#%^&*()_ =~`/\><.??4??'
console.log(
text.toUpperCase().match(/[a-z] |(?!\d\uFE0F\u20E3)\d (?:\.\d )?/gi)
.map((m) => (isNaN(m) ? m : m))
)
該(?!\d\uFE0F\u20E3)負先行將失敗的任何比賽\d (?:\.\d )?時,第一位為數字表情符號的一部分。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/334555.html
標籤:javascript 正则表达式
下一篇:將URL與正則運算式匹配
