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

正则表达式/[aeiouAEIOU]/g作用解析及大小写匹配优化咨询

正则表达式/[aeiouAEIOU]/g的疑问解答

先看你写的这段代码:

function disemvowel(str) {
  str = str.replace(/[aeiouAEIOU]/g, "");
  return str;
}

console.log(disemvowel("This website is for losers LOL!"));

下面逐个解答你的疑问:

1. //的含义

这是JavaScript里正则表达式的字面量语法,就像字符串用双引号/单引号包裹一样,//用来包裹正则的匹配规则,告诉JS这部分是一个专门用于字符串匹配的正则表达式对象。

2. 元音放在[]中的原因

[]叫做字符集(字符类),它的作用是匹配括号里的任意一个字符。比如[aeiouAEIOU]就表示匹配a、e、i、o、u、A、E、I、O、U中的任意一个,这种写法比写a|e|i|o|u|A|E|I|O|U简洁得多,执行效率也更高。

3. g修饰符的作用

g是global(全局)的缩写,默认情况下正则表达式只会匹配字符串中第一个符合规则的字符,加了g修饰符后,就会匹配字符串里所有符合规则的字符。如果你的代码不加g,那只会替换第一个元音,剩下的元音还会留在字符串里,达不到“去掉所有元音”的效果。

4. 如何一次性选中大小写元音,不用写[aeiouAEIOU]

可以加i修饰符,它是ignore case(忽略大小写)的意思。把正则改成/[aeiou]/gi就可以了,这个正则会自动匹配所有大小写的元音字母,不用再把大小写都列出来。修改后的代码如下:

function disemvowel(str) {
  str = str.replace(/[aeiou]/gi, "");
  return str;
}

console.log(disemvowel("This website is for losers LOL!"));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:25:20