说明
你已经学习了如何匹配文字模式(/literal/
)和通配符(/./
)。那些是正则表达式的极端情况,其中一个查找完全匹配,另一个匹配所有内容。有在两个极端情况之间的平衡选项。
你可以使用character
类来灵活地搜索文字模式。character类允许你通过将其放在正方形([
and]
)括号中来定义一组你希望匹配的字符。
例如,你要匹配"bag"
,"big"
和"bug"
,而不是"bog"
。你可以创建正则表达式/b[aiu]g/
来执行此操作。[aiu]
是只匹配字符"a"
,"i"
或"u"
的character类。
var bigStr = "big";
var bagStr = "bag";
var bugStr = "bug";
var bogStr = "bog";
var bgRegex = /b[aiu]g/;
bigStr.match(bgRegex); //返回["big"]
bagStr.match(bgRegex); //返回["bag"]
bugStr.match(bgRegex); //返回["bug"]
bogStr.match(bgRegex); //返回null
练习
在正则表达式vowelRegex
中使用带有元音(a
,e
,i
,o
,u
)的character类,查找字符串quoteSample
中的所有元音。
注意
确保匹配大小写和小写元音。
- 你的
result
应该找到所有的6个元音。 - 你的正则表达式
vowelRegex
应该使用character类。 - 你的正则表达式
vowelRegex
应该使用全局标志。 - 你的正则表达式
vowelRegex
应该使用不区分大小写的标志。 - 你的正则表达式不应该匹配任何辅音。
var quoteSample = 'w3cschool.cn is very good!';
var vowelRegex = /change/; // 这里添加代码
var result = quoteSample.match(vowelRegex);
答案
方法 | 描述 |
正则表达式 | 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 |
match() | 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 |
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
var quoteSample = 'w3cschool.cn is very good!';
var vowelRegex = /[aeiou]/gi; // 这里添加代码
var result = quoteSample.match(vowelRegex);
result;
运行结果
["o","o","i","e","o","o"]