You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React TypeScript正则表达式遇「不必要转义字符」错误求解决方案

解决方案:修复正则中的不必要转义字符错误

问题出在你的正则表达式字符集[]内部的转义操作上:在字符集[]里,.不需要转义,你写成\.属于多余操作,这就是触发“Unnecessary escape character”错误的原因。

修复后的代码

const handlePaste = (evt: any) => {
  evt.preventDefault();

  const paste = evt.clipboardData.getData("text");
  // 移除字符集内不必要的转义符
  const emails = paste.match(/[\w\d.-]+@[\w\d.-]+\.[\w\d.-]+/g);

  if (emails) {
    const toBeAdded = emails.filter((email: any) => !isInList(email));

    setItem(toBeAdded);
  }
};

关键说明

  • 在正则的字符集[]内部,.是普通字符,直接写.就代表字面意义的点,不需要转义;只有在字符集外部时,.才会匹配任意字符,这时候如果要匹配字面的点才需要转义(比如正则里的\.[\w\d.-]+部分,这里的\.是正确的,不用修改)。
  • 你原来的[\w\d\.-]里的\完全多余,去掉后既符合语法规范,也不会改变正则的匹配逻辑。

内容的提问来源于stack exchange,提问作者user15361826

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:30:48