You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 9-regular-expressions/21-regexp-unicode-properties/article.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,35 +1,35 @@
1
1
2
2
# Свойства символов Юникода \p
3
3
4
-
[Юникод](https://en.wikipedia.org/wiki/Unicode), формат кодировки строк, используемый в JavaScript, имеет множество свойств для разных символов (или, технически, кодовых позиций). Они описывают к какой "категории" относится символ и прочие технические детали.
4
+
[Юникод](https://ru.wikipedia.org/wiki/Юникод), формат кодировки строк, используемый в JavaScript, имеет множество свойств для разных символов (или, технически, кодовых позиций). Они описывают к какой "категории" относится символ и прочие технические детали.
5
5
6
6
В регулярных выражениях свойства могут быть указаны с помощью `\p{…}`. Для таких регулярных выражений обязательно использовать флаг `'u'`.
7
7
8
-
Например, `\p{Letter}` обозначает букву в любом языке. Также можно использовать запись `\p{L}`, `L`алиас для`Letter`, существуют короткие записи почти для всех свойств.
8
+
Например, `\p{Letter}` обозначает букву в любом языке. Также можно использовать запись `\p{L}`, где `L`- это псевдоним`Letter`, существуют короткие записи почти для всех свойств.
9
9
10
-
Ниже представлены основыне свойства с алиасами:
10
+
Ниже представлены основные свойства с псевдонимов:
11
11
12
12
- Буквы `L`:
13
13
- в нижнем регистре `Ll`, модификатор `Lm`, заглавные буквы `Lt`, в верхнем регистре `Lu`, прочие `Lo`
- проверка `Cc`, формат `Cf`, не назначено `Cn`, личное использование `Co`, заменители `Cs`.
26
26
27
-
```smart header="Больше информации"
27
+
```smart header="Дополнительная информация"
28
28
Хотите узнать, какие символы имеют определенное свойство? Для этого есть инструмент: <http://cldr.unicode.org/unicode-utilities/list-unicodeset>.
29
29
30
-
Также исследовать свойства можно на [индеске свойств символа](http://unicode.org/cldr/utility/properties.jsp).
30
+
Вы также можете изучить свойства в [каталоге свойств символа](http://unicode.org/cldr/utility/properties.jsp).
31
31
32
-
Полная база юникод символов в текстовом формате (вместе со всеми свойствами), находится здесь <https://www.unicode.org/Public/UCD/latest/ucd/>.
32
+
Полная база Юникод-символов в текстовом формате (вместе со всеми свойствами), находится здесь <https://www.unicode.org/Public/UCD/latest/ucd/>.
33
33
```
34
34
35
35
Есть и другие категории -- производные, например:
@@ -45,9 +45,9 @@ let reg = /\p{Hex_Digit}{6}/u; // флаг 'u' -- обязательный
45
45
alert("color: #123ABC".match(reg)); // 123ABC
46
46
```
47
47
48
-
Существют свойсва которые необходимо использовать со значением. Например, Юникод "Script" (система написания) может иметь значения Cyrillic (Кирилическая), Greek (Греческая), Arabic (Арабская), Han (Китайская) и так далее, [полный список -- длинный]("https://en.wikipedia.org/wiki/Script_(Unicode)").
48
+
Существуют свойства которые необходимо использовать со значением. Например, Юникод "Script" (система написания) может иметь значения Cyrillic (Кириллическая), Greek (Греческая), Arabic (Арабская), Han (Китайская) и так далее, [полный список -- длинный]("https://en.wikipedia.org/wiki/Script_(Unicode)").
49
49
50
-
Для поиска определенных скриптов, мы должны установить `Script=<value>`, например для поиска кирилических букв: `\p{sc=Cyrillic}`, для китайских иероглифов: `\p{sc=Han}`, и так далее:
50
+
Для поиска определенных скриптов, мы должны установить `Script=<value>`, например для поиска кириллических букв: `\p{sc=Cyrillic}`, для китайских иероглифов: `\p{sc=Han}`, и так далее:
51
51
52
52
```js run
53
53
let regexp =/\p{sc=Han}+/gu; // вернет китайские слова
-`Mark` для акцентов, as in Unicode accents may be represented by separate code points,
73
+
-`Mark` для акцентов (в Юникоде акценты могут быть представлены разными кодовыми позициями),
74
74
-`Decimal_Number` для цифр,
75
75
-`Connector_Punctuation` для символа `'_'` и подобных ему,
76
76
-`Join_Control` -– два специальных указателя с кодами `200c` и `200d`, используемые в лигатурах, например, арабских.
77
77
78
-
И вот что получится, когда мы заменим длинные названия алиасами (список алиасов[здесь](https://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt)):
78
+
И вот что получится, когда мы заменим длинные названия псевдонимами (список псевдонимов[здесь](https://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt)):
79
79
80
80
```js run
81
81
let regexp =/([\p{Alpha}\p{M}\p{Nd}\p{Pc}\p{Join_C}]+)/gu;
0 commit comments