说明
你已经了解到可以使用快捷方式\w
匹配字母数字[A-Za-z0-9_]
。你可能想要搜索与字母数字相反的自然模式。
可以使用\W
搜索\w
的相反方向。需要注意,相反的模式使用大写字母。此快捷方式与[^ A-Za-z0-9_]
相同。
var shortHand = /\W/;
var numbers = "42%";
var sentence = "Coding!";
numbers.match(shortHand); // 返回 ["%"]
sentence.match(shortHand); // 返回 ["!"]
练习
使用shorthand character类\W
来计算各种引号和字符串中非字母数字的字符的数量。
- 你的正则表达式应该使用全局标志。
- 你的正则表达式应该在
"The five boxing wizards jump quickly."
中找到6个非字母数字字符。 - 你的正则表达式应该在
"Pack my box with five dozen liquor jugs."
中找到8个非字母数字字符。 - 你的正则表达式应该在
"How vexingly quick daft zebras jump!"
中找到6个非字母数字字符。 - 你的正则表达式应该在
"123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ."
中找到12个非字母数字字符。
var text = 'The five boxing wizards jump quickly.';
var nonAlphabetRegex = /change/; // Change this line
var result = text.match(nonAlphabetRegex);
答案
方法 | 描述 |
正则表达式 | 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 |
match() | 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 |
修饰符 | 描述 |
---|---|
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
元字符 | 描述 |
\W | 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。 |
var text = 'The five boxing wizards jump quickly.';
var nonAlphabetRegex = /\W/g; // Change this line
var result = text.match(nonAlphabetRegex);
result;
运行结果
[" "," "," "," "," ","."]