ÐлаÑÑÑ Ñимволов
ÐлаÑÑÑ Ñимволов позволÑÑÑ ÑазлиÑаÑÑ Ð²Ð¸Ð´Ñ Ñимволов, к пÑимеÑÑ, как ÑазлиÑÐ¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð±Ñквами и ÑиÑÑами.
ÐнÑеÑакÑивнÑй пÑимеÑ
const chessStory = "He played the King in a8 and she moved her Queen in c2.";
const regexpCoordinates = /\w\d/g;
console.log(chessStory.match(regexpCoordinates));
// Expected output: Array [ 'a8', 'c2']
const moods = "happy ð, confused ð, sad ð¢";
const regexpEmoticons = /[\u{1F600}-\u{1F64F}]/gu;
console.log(moods.match(regexpEmoticons));
// Expected output: Array ['ð', 'ð', 'ð¢']
ТипÑ
| Символ | ÐнаÑение |
|---|---|
. |
ТоÑка Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð½Ð¾ из ÑледÑÑÑÐ¸Ñ ÑмÑÑлов:
ÐамеÑание.
РES2018 добавили |
\d |
СовпадÑÑ Ñ Ð»Ñбой ÑиÑÑой (аÑабÑкий ÑиÑла). ÐквиваленÑно
|
\D |
СовпадÑÑ Ñ Ð»ÑбÑм Ñимволом, коÑоÑÑй не ÑвлÑеÑÑÑ ÑиÑÑой (аÑабÑкий
ÑиÑла). ÐквиваленÑно |
\w |
СовпадÑÑ Ñ Ð»Ñбой бÑквенно-ÑиÑловÑм Ñимволом из базового лаÑинÑкого
алÑавиÑа вклÑÑÐ°Ñ Ð½Ð¸Ð¶Ð½ÐµÐµ подÑÑÑкивание. ÐквиваленÑно
|
\W |
СовпадÑÑ Ñ Ð»Ñбой бÑквенно-ÑиÑловÑм, коÑоÑое не ÑвлÑеÑÑÑ Ñимволом
базового лаÑинÑкого алÑавиÑа, Ñак же иÑклÑÑÐ°Ñ Ð½Ð¸Ð¶Ð½ÐµÐµ подÑÑÑкивание.
ÐквиваленÑно |
\s |
СовпадÑÑ Ñ Ð»ÑбÑм пÑобелÑнÑм Ñимволом, вклÑÑÐ°Ñ Ð¿Ñобел, Ñимвол
ÑабÑлÑÑии, Ñимвол подаÑи ÑÑÑаниÑÑ, Ñимвол подаÑи ÑÑÑоки и дÑÑгие
Unicode пÑобелÑ. ÐквиваленÑно
|
\S |
СовпадÑÑ Ñ Ð»ÑбÑм Ñимволом, не ÑвлÑÑÑимÑÑ Ð¿ÑобелÑнÑм. ÐквиваленÑно
|
\t |
СовпадÑÑ Ñ Ñимволом гоÑизонÑалÑной ÑабÑлÑÑии. |
\r |
СовпадÑÑ Ñ Ñимволом возвÑаÑа каÑеÑки. |
\n |
СовпадÑÑ Ñ Ñимволом подаÑи ÑÑÑоки. |
\v |
СовпадÑÑ Ñ Ñимволом веÑÑикалÑной ÑабÑлÑÑии |
\f |
СовпадÑÑ Ñ Ñимволом подаÑи ÑÑÑаниÑÑ (ÑоÑмÑ). |
[\b] |
СовпадÑÑ Ñ Ñимволом возвÑÐ°Ñ Ð½Ð°Ð·Ð°Ð´ (англ. backspace). ÐÑли Ð²Ñ Ð¸ÑиÑе
Ñимвол гÑаниÑÑ Ñлова (\b), ÑмоÑÑи
ÐÑаниÑÑ.
|
\0 |
СовпадÑÑ Ñ Ñимволом NUL character. Ðе иÑполÑзÑйÑе дÑÑгÑÑ ÑиÑÑÑ. |
\cX
|
СовпадÑÑ Ñ ÐºÐ¾Ð½ÑÑолÑнÑм Ñимволом using
каÑеÑнÑÑ Ð½Ð¾ÑаÑиÑ, где "X" бÑква AâZ (ÑооÑвеÑÑÑвÑÐµÑ ÐºÐ¾Ð´Ð°Ð¼ |
\xhh
|
СовпадÑÑ Ñ Ñимволом, код коÑоÑого hh (две
ÑеÑÑнадÑаÑеÑиÑнÑÑ
ÑиÑÑÑ).
|
\uhhhh
|
СовпадÑÑ Ñ ÐºÐ¾Ð´-блоком UTF-16 Ñо знаÑением
hhhh (ÑеÑÑÑе ÑеÑÑнадÑаÑеÑиÑнÑÑ
ÑиÑÑÑ).
|
\u{hhhh} or \u{hhhhh}
|
(ТолÑко когда ÑÑÑановлен Ñлаг u.) СовпадÑÑ Ñ Unicode
Ñимволом Ñо знаÑением U+hhhh или
U+hhhhh (ÑеÑÑнадÑаÑеÑиÑнÑе ÑиÑÑÑ).
|
\ |
ÐпÑеделÑÐµÑ ÑÑо поÑледÑÑÑий Ñимвол должен бÑÑÑ Ð¸Ð½ÑеÑпÑеÑиÑован по оÑÐ¾Ð±Ð¾Ð¼Ñ Ð¸Ð»Ð¸ должен бÑÑÑ "ÑкÑаниÑован. ÐÑо ÑабоÑÐ°ÐµÑ Ð² двÑÑ Ð²Ð°ÑианÑÐ°Ñ :
ЧÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи лиÑеÑалÑное Ñовпадение Ñ ÑÑим Ñимволов ( |
ÐÑимеÑÑ
>ÐоиÑк ÑеÑии ÑиÑÑ
var randomData = "015 354 8787 687351 3512 8735";
var regexpFourDigits = /\b\d{4}\b/g;
// \b опÑеделÑÐµÑ Ð³ÑаниÑÑ Ð¿Ð¾Ð¸Ñка (напÑимеÑ, не наÑÐ¸Ð½Ð°ÐµÑ Ð¿Ð¾Ð¸Ñк Ñ ÑеÑÐµÐ´Ð¸Ð½Ñ Ñлова)
// \d{4} опÑеделÑÐµÑ ÑиÑÑÑ, ÑеÑÑÑе Ñаза
// опÑеделÑÐµÑ Ð´ÑÑгÑÑ Ð³ÑаниÑÑ Ð¿Ð¾Ð¸Ñка (напÑимеÑ, не наÑÐ¸Ð½Ð°ÐµÑ Ð¿Ð¾Ð¸Ñк Ñ ÑеÑÐµÐ´Ð¸Ð½Ñ Ñлова)
// ÐÑвод вÑеÑ
ÑиÑел имеÑÑиÑ
ÑолÑко 4 ÑиÑÑÑ
console.table(randomData.match(regexpFourDigits));
// ['8787', '3512', '8735']
ÐоиÑк Ñлов (лаÑинÑкий алÑавиÑ), наÑинаÑÑÐ¸Ñ Ñ A
var aliceExcerpt =
"Iâm sure Iâm not Ada,â she said, âfor her hair goes in such long ringlets, and mine doesnât go in ringlets at all.";
var regexpWordStartingWithA = /\b[aA]\w+/g;
// \b опÑеделÑÐµÑ Ð³ÑаниÑÑ Ð¿Ð¾Ð¸Ñка (напÑимеÑ, не наÑÐ¸Ð½Ð°ÐµÑ Ð¿Ð¾Ð¸Ñк Ñ ÑеÑÐµÐ´Ð¸Ð½Ñ Ñлова)
// [aA] опÑеделÑÐµÑ Ð±ÑÐºÐ²Ñ a или A
// \b опÑеделÑÐµÑ Ð³ÑаниÑÑ Ð¿Ð¾Ð¸Ñка (напÑимеÑ, не наÑÐ¸Ð½Ð°ÐµÑ Ð¿Ð¾Ð¸Ñк Ñ ÑеÑÐµÐ´Ð¸Ð½Ñ Ñлова)
console.table(aliceExcerpt.match(regexpWordStartingWithA));
// ['Ada', 'and', 'at', 'all']
ÐоиÑки Ñлов (из Unicode Ñимволов)
ÐмеÑÑо лаÑинÑкого алÑавиÑа, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Unicode Ñимволов Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñлова (благодаÑÑ ÑÑÐ¾Ð¼Ñ Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ ÑабоÑаÑÑ Ñ ÑекÑÑами напиÑаннÑм, напÑÐ¸Ð¼ÐµÑ Ð½Ð° ÑÑÑÑком или аÑабÑком ÑзÑке or Arabic). Unicode ÑодеÑÐ¶Ð¸Ñ Ð±Ð¾Ð»ÑÑинÑÑво Ñимволов иÑполÑзÑемÑÑ Ð½Ð° планеÑе, Ð¼Ñ Ñак же можем обÑединÑÑÑ Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ñ Ð¸ клаÑÑÑ Ñимволов.
var nonEnglishText = "ÐÑиклÑÑÐµÐ½Ð¸Ñ ÐлиÑÑ Ð² СÑÑане ÑÑдеÑ";
var regexpBMPWord = /([\u0000-\u0019\u0021-\uFFFF])+/gu;
// BMP goes through U+0000 to U+FFFF but space is U+0020
console.table(nonEnglishText.match(regexpBMPWord));
["ÐÑиклÑÑениÑ", "ÐлиÑÑ", "в", "СÑÑане", "ÑÑдеÑ"];