Javascript 正则表达式包括斜杠

Javascript 正则表达式包括斜杠,javascript,regex,Javascript,Regex,我使用以下正则表达式从数组中筛选出元素: /([A-Za-z'])/g) 我有一串单词,这就是我制作数组的方式: const arraylist=text.split(“”).filter(el=>el.match(/([A-Za-z'])/g)) 由于某些原因,当文本是//不会时,我的结果是['///wont',will't',will't'] 我错过了什么?我希望在我的结束数组中过滤掉双斜杠因此,正如我从您对这个问题的评论中所理解的那样-您实际寻找的是而不是要过滤单词,只需删除非单词字母

我使用以下正则表达式从数组中筛选出元素:

/([A-Za-z'])/g)
我有一串单词,这就是我制作数组的方式:

const arraylist=text.split(“”).filter(el=>el.match(/([A-Za-z'])/g))
由于某些原因,当文本是
//不会
时,我的结果是
['///wont',will't',will't']


我错过了什么?我希望在我的结束数组中过滤掉双斜杠

因此,正如我从您对这个问题的评论中所理解的那样-您实际寻找的是而不是要过滤单词,只需删除非单词字母即可。为此,您可以执行以下操作:

const text=“//不会”;
const arraylist=text.split(“”).map(el=>el.replace(/([^A-Za-z']))/g,“”)

console.log(arraylist)
现在您的正则表达式接受包含的任何单词
A-Za-z'
看起来您想要的只是这个。对于这种用法,
/^([A-Za-z'])+$/
@PoulBak您应该添加
+
,因为您的正则表达式只接受一个字母,没有可选的重复。Yosef和Poul,这些正则表达式选择器确实会排除该单词,但这是否意味着我需要过滤掉//我自己?因为我仍然想要这个单词,只是不需要前面的//不要使用text.split和filter,只需使用text.match(/\b[A-Za-z']+\b/g),那么您将得到一个匹配数组。如果您需要的是删除非字母,而不是
。match
使用
。替换(/[^A-Za-z']]/g.)