--- id: 587d7db8367417b2b2512ba1 title: Match All Non-Numbers challengeType: 1 forumTopicId: 301347 localeTitle: 匹配所有非数字 --- ## Description
上一项挑战中展示了如何使用带有小写d的缩写\d来搜寻数字。也可以使用类似的缩写来搜寻非数字,该缩写使用大写的D。 查找非数字字符的缩写是\D。这等同于字符串[^0-9],它查找不是 0 - 9 之间数字的单个字符。
## Instructions
使用非数字缩写\D来计算电影标题中有多少非数字。
## Tests
```yml tests: - text: 你的正则表达式应该使用缩写来匹配非数字字符。 testString: assert(/\\D/.test(noNumRegex.source)); - text: 你的正则表达式应该使用全局状态修正符。 testString: assert(noNumRegex.global); - text: "你的正则表达式在'9'中应该匹配不到非数字。" testString: assert("9".match(noNumRegex) == null); - text: "你的正则表达式应该在'Catch 22'中匹配到 6 个非数字。" testString: assert("Catch 22".match(noNumRegex).length == 6); - text: "你的正则表达式应该在'101 Dalmatians'中匹配到 11 个非数字。" testString: assert("101 Dalmatians".match(noNumRegex).length == 11); - text: "你的正则表达式应该在'One, Two, Three'中匹配到 15 个非数字。" testString: assert("One, Two, Three".match(noNumRegex).length == 15); - text: "你的正则表达式应该在'21 Jump Street'中匹配到 12 个非数字。" testString: assert("21 Jump Street".match(noNumRegex).length == 12); - text: '你的正则表达式应该在"2001: A Space Odyssey"中匹配到 17 个非数字。' testString: 'assert("2001: A Space Odyssey".match(noNumRegex).length == 17);' ```
## Challenge Seed
```js let movieName = "2001: A Space Odyssey"; let noNumRegex = /change/; // Change this line let result = movieName.match(noNumRegex).length; ```
## Solution
```js let movieName = "2001: A Space Odyssey"; let noNumRegex = /\D/g; // Change this line let result = movieName.match(noNumRegex).length; ```