无法识别Javascript表达式

Javascript unrecognized expression

本文关键字:表达式 Javascript 识别      更新时间:2023-09-26

我有复杂的元素属性,如

CS::@station1/cs1_station-0/be/PA300___(1)#22

我试图用这个正则表达式删除所有表达式

/[/'@'/'_'/'#'/':'/'-'[']'/'{'}'(')'*'+'?'.'''^'$'|]/g

但我有一些例外,比如:

错误:语法错误,无法识别的表达式:#OS::@station1''cs-0…

有人用正则表达式来转义所有无法识别的js表达式吗?

/[/'@'/'_'/'#'/':'/'-'[']'/'{'}'(')'*'+'?'.'''^'$'|]/g

应该是

/[-'/@_#:[']{}()*+?.''^$|]+/g

也许否定字符类可能有用:

var s = 'CS::@station1/cs1_station-0/be/PA300___(1)#22';
console.log(s.replace(/[^a-z0-9]+/gi, ''));