Skip to content

Commit 6d293b7

Browse files
committed
Review fixes
1 parent 672e031 commit 6d293b7

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

  • 9-regular-expressions/21-regexp-unicode-properties

9-regular-expressions/21-regexp-unicode-properties/article.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11

22
# Свойства символов Юникода \p
33

4-
[Юникод](https://en.wikipedia.org/wiki/Unicode), формат кодировки строк, используемый в JavaScript, имеет множество свойств для разных символов (или, технически, кодовых позиций). Они описывают к какой "категории" относится символ и прочие технические детали.
4+
[Юникод](https://ru.wikipedia.org/wiki/Юникод), формат кодировки строк, используемый в JavaScript, имеет множество свойств для разных символов (или, технически, кодовых позиций). Они описывают к какой "категории" относится символ и прочие технические детали.
55

66
В регулярных выражениях свойства могут быть указаны с помощью `\p{…}`. Для таких регулярных выражений обязательно использовать флаг `'u'`.
77

8-
Например, `\p{Letter}` обозначает букву в любом языке. Также можно использовать запись `\p{L}`, `L` алиас для `Letter`, существуют короткие записи почти для всех свойств.
8+
Например, `\p{Letter}` обозначает букву в любом языке. Также можно использовать запись `\p{L}`, где `L` - это псевдоним `Letter`, существуют короткие записи почти для всех свойств.
99

10-
Ниже представлены основыне свойства с алиасами:
10+
Ниже представлены основные свойства с псевдонимов:
1111

1212
- Буквы `L`:
1313
- в нижнем регистре `Ll`, модификатор `Lm`, заглавные буквы `Lt`, в верхнем регистре `Lu`, прочие `Lo`
1414
- Число `N`:
1515
- десятичная цифра `Nd`, цифры обозначаемые буквами (римские) `Nl`, прочие `No`:
1616
- Знаки препинания `P`:
1717
- соединители `Pc`, тире `Pd`, открывающие кавычки `Pi`, закрывающие кавычки `Pf`, открывающие скобки `Ps`, закрывающие скобки `Pe`, прочее `Po`
18-
- Маркираторы `M` (например, акценты):
19-
- двоеточия `Mc`, влажегия `Me`, апострофы `Mn`
18+
- Отметки `M` (например, акценты):
19+
- двоеточия `Mc`, вложения `Me`, апострофы `Mn`
2020
- Символы `S`:
2121
- валюты `Sc`, модификаторы `Sk`, математические `Sm`, прочие `So`
2222
- Разделители `Z`:
2323
- линия `Zl`, параграф `Zp`, пробел `Zs`
2424
- Прочие `C`:
2525
- проверка `Cc`, формат `Cf`, не назначено `Cn`, личное использование `Co`, заменители `Cs`.
2626

27-
```smart header="Больше информации"
27+
```smart header="Дополнительная информация"
2828
Хотите узнать, какие символы имеют определенное свойство? Для этого есть инструмент: <http://cldr.unicode.org/unicode-utilities/list-unicodeset>.
2929
30-
Также исследовать свойства можно на [индеске свойств символа](http://unicode.org/cldr/utility/properties.jsp).
30+
Вы также можете изучить свойства в [каталоге свойств символа](http://unicode.org/cldr/utility/properties.jsp).
3131
32-
Полная база юникод символов в текстовом формате (вместе со всеми свойствами), находится здесь <https://www.unicode.org/Public/UCD/latest/ucd/>.
32+
Полная база Юникод-символов в текстовом формате (вместе со всеми свойствами), находится здесь <https://www.unicode.org/Public/UCD/latest/ucd/>.
3333
```
3434

3535
Есть и другие категории -- производные, например:
@@ -45,9 +45,9 @@ let reg = /\p{Hex_Digit}{6}/u; // флаг 'u' -- обязательный
4545
alert("color: #123ABC".match(reg)); // 123ABC
4646
```
4747

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)").
4949

50-
Для поиска определенных скриптов, мы должны установить `Script=<value>`, например для поиска кирилических букв: `\p{sc=Cyrillic}`, для китайских иероглифов: `\p{sc=Han}`, и так далее:
50+
Для поиска определенных скриптов, мы должны установить `Script=<value>`, например для поиска кириллических букв: `\p{sc=Cyrillic}`, для китайских иероглифов: `\p{sc=Han}`, и так далее:
5151

5252
```js run
5353
let regexp = /\p{sc=Han}+/gu; // вернет китайские слова
@@ -70,12 +70,12 @@ alert( str.match(regexp) ); // 你好
7070
Итак, набор символов включает в себя:
7171

7272
- `Alphabetic` для букв,
73-
- `Mark` для акцентов, as in Unicode accents may be represented by separate code points,
73+
- `Mark` для акцентов (в Юникоде акценты могут быть представлены разными кодовыми позициями),
7474
- `Decimal_Number` для цифр,
7575
- `Connector_Punctuation` для символа `'_'` и подобных ему,
7676
- `Join_Control` -– два специальных указателя с кодами `200c` и `200d`, используемые в лигатурах, например, арабских.
7777

78-
И вот что получится, когда мы заменим длинные названия алиасами (список алиасов [здесь](https://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt)):
78+
И вот что получится, когда мы заменим длинные названия псевдонимами (список псевдонимов [здесь](https://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt)):
7979

8080
```js run
8181
let regexp = /([\p{Alpha}\p{M}\p{Nd}\p{Pc}\p{Join_C}]+)/gu;

0 commit comments

Comments
 (0)