Regex只接受变量名

Regex to accept only variable names

本文关键字:变量名 Regex      更新时间:2023-09-26

如何编写一个只接受单词或字母并按,分割的正则表达式?

我已经尝试过array = input.replace(/ /g, '').split(','),但随后h-e,a<y将成为['h-e','a<y'],我想只接受变量,所以我猜h-e,a<y应该成为['he','ay']

会是像

这样的吗?
array = input.replace(/['s|^'w]/g, '').split(',')

您可以使用这个正则表达式来查找您想要从字符串中删除的所有字符:

array = input.replace(/[-><?.:;]*/ig, '').split(',')

您将替换[]中的所有字符。

先分割,再删除不允许的字符:

input.split(,).map(fix)

,

function fix(s) {
  return s.replace(/[^'w$]/g, '');
}

另一种方法是抓住你想要的字符,而不是扔掉你不需要的字符:

function fix(s) {
  return s.match(/['w$]/g).join('');
}

实际上,这并不完全正确,因为JavaScript变量名也可以包含Unicode字符,例如Σ。此外,这不会修复前导数字字符,JavaScript变量名不能以。

开头。