File tree Expand file tree Collapse file tree
9-regular-expressions/08-regexp-character-sets-and-ranges Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ alert( "Voila".match(/V[oi]la/) ); // null,并没有匹配上
4242alert ( " Exception 0xAF" .match (/ x[0-9A-F ][0-9A-F ] / g ) ); // xAF
4343```
4444
45- ` pattern:[0-9A-F] ` 表示两个范围:它搜索一个字符,该字符是数字 ` 0 ` 到 ` 9 ` 或字母 ` A ` 到 ` F ` 。
45+ ` pattern:[0-9A-F] ` 表示两个范围:它搜索一个字符,满足数字 ` 0 ` 到 ` 9 ` 或字母 ` A ` 到 ` F ` 。
4646
4747如果我们还想查找小写字母,则可以添加范围 ` a-f ` :` pattern:[0-9A-Fa-f] ` 。或添加标志 ` pattern:i ` 。
4848
@@ -66,7 +66,7 @@ alert( "Exception 0xAF".match(/x[0-9A-F][0-9A-F]/g) ); // xAF
6666
6767我们可以编写一个更通用的模式,该模式可以查找任何语言中的文字字符。这很容易想到就 Unicode 属性:` pattern:[\p{Alpha}\p{M}\p{Nd}\p{Pc}\p{Join_C}] ` 。
6868
69- 让我们理解它。类似于 ` pattern:\w ` ,我们正在制作一个包括以下 unicode 字符的字符集 :
69+ 让我们理解它。类似于 ` pattern:\w ` ,我们在制作自己的一套字符集,包括以下 unicode 字符 :
7070
7171* ` Alphabetic ` (` Alpha ` ) —— 字母,
7272* ` Mark ` (` M ` ) —— 重读,
@@ -191,7 +191,7 @@ alert( '𝒳'.match(/[𝒳𝒴]/u) ); // 𝒳
191191
192192原因是,没有标志 ` pattern:u ` 的代理对被视为两个字符,因此 ` [𝒳-𝒴] ` 被解释为 ` [<55349><56499>-<55349><56500>] ` (每个代理对都替换为其代码)。现在很容易看出范围 ` 56499-55349 ` 是无效的:其起始代码 ` 56499 ` 大于终止代码 ` 55349 ` 。这就是错误的原因。
193193
194- 使用标志 ` pattern:u ` ,该模式可以正常工作 :
194+ 使用标志 ` pattern:u ` ,该模式可以正常匹配 :
195195
196196``` js run
197197// 查找字符从 𝒳 到 𝒵
You can’t perform that action at this time.
0 commit comments