Регулярные выражения и парсинг в JavaScript

  Рет қаралды 12,835

Timur Shemsedinov

Timur Shemsedinov

Күн бұрын

Пікірлер: 50
@anatolykobzisty9827
@anatolykobzisty9827 5 жыл бұрын
00:00:00 Введение 00:10:30 Синтаксис регулярных выражений 00:12:54 Задание регулярного выражения 00:30:38 RegExp 00:38:11 Метод match 00:46:48 Метод split 00:49:28 Метод replace 00:50:43 Метод replace с аргументом функции 00:53:28 Метод search 00:55:05 Обобщение
@uaplatformacomua
@uaplatformacomua 3 жыл бұрын
Огромное спасибо! У вас самое лучшее объяснение регулярных выражений на самых понятных примерах. Супер!
@DimitarRad
@DimitarRad 2 жыл бұрын
Только вчера на созвоне SummerCamp22 задавал вопрос про bnf, а тут видос на эту тему. Спасибо)
@timashoff
@timashoff Жыл бұрын
за что люблю лекции Тимура, казалось бы смотришь про регулярки, а узнаешь про bnf, далее гуглишь, видишь dsl и пазл складывается с sql аура магии спадает и приходит понимание )
@Morexod999
@Morexod999 2 жыл бұрын
Отличная лекция!
@TimurSevimli
@TimurSevimli 2 жыл бұрын
Спасибо за лекцию! Регулярные выражения одно из не любимых тем, слава Аллаху что уже существует чат-боты с искусственным интеллектом которые облегчают работать с регулярные выражениями😌
@alexanderbunin7388
@alexanderbunin7388 2 жыл бұрын
Чтобы не забыть, что было в скобках, можно делать именованные скобочные группы. Плюс по этому ключу можно обращаться к подстроке в свойстве groups результата, возвращаемого из match/matchAll
@ShortsAreUp
@ShortsAreUp 3 жыл бұрын
Спасибо за видео. Такой вопрос: почему регулярное выражение имеет тип object? JS сует регулярку в обьект когда видит ее в коде или как? Имею ввиду не создание через new RegExp а например typeof /a+bc/g возвращает object
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
object это тип всех инстансов классов и Date и Array и EventEmitter
@Antonio-fm1sq
@Antonio-fm1sq 3 жыл бұрын
Спасибо!
@user-lex1308
@user-lex1308 4 жыл бұрын
Дякую)
@masterguyver84
@masterguyver84 5 жыл бұрын
Спасибо! Вопрос, можно ли на BNF сделать что-то типа языка для описания какой-либо технической задачи из предметной области и потом разово откомпилировать и превратить такое описание в код языка JS, либо другого. Потом просто брать и на таком "языке описания" задавать, например задачу для расчета. Она по идее будет превращаться в код языка программирования уже откомпилированный. Ну это так "банально" описал. Просто такое возможно? Теория компиляторов в целом отдельное направление. Просто интересно .....
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
На BNF можно сделать описание синтаксиса, откомпилировать BNF в регулярки или строковой парсинг на JS, C, C++ или другом языке, и этот парсер позволит просто парсить описание предметной области, но не будет его исполнять. Потому, что язык, это не только парсер, но и рантайм или компилятор в исполняемый код, машинный или промежуточный (байт-код).
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Другими словами, магии не будет, сделать рантайм на много порядков сложнее, чем парсер.
@masterguyver84
@masterguyver84 5 жыл бұрын
@@TimurShemsedinov Ясно, чтоб магию творить надо теорию компиляторов изучать, но чтоб такое познать, надо много практики. Компилятор создавать наверное очень сложно.
@kanstantsinmentorwebfronte8529
@kanstantsinmentorwebfronte8529 4 жыл бұрын
Под конкретные доменные области пишут DSL ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA Ими вполне удобно пользоваться, так как ты сам создаешь удобный синтаксис. Использовали например pegjs.org/
@АскаровРуслан-л5м
@АскаровРуслан-л5м 5 жыл бұрын
очень круто и подробно объясняете эту тему. Спасибо вам!
@andreyn5333
@andreyn5333 4 жыл бұрын
На 1.01 услышал, что "мы прошли Set..." Как это мы прошли Set? Я все лекции с начала смотрю, не помню такого... В какой лекции сеты?
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
Оглавление тут: github.com/HowProgrammingWorks/Index Если вы посмотрите по оглавлению, то лекция про коллекции находится до лекции про регулярки, хотя, я читаю их не по порядку и может быть такая путаница, но не в этом случае
@andreyn5333
@andreyn5333 4 жыл бұрын
@@TimurShemsedinov Понял, спасибо. А я то смотрю в порядке очередности видео на ютубе
@pavpav1573
@pavpav1573 5 жыл бұрын
Ещё вопрос : я правильно понял , что в JS , regExp работают только с англ , т.е. русскоязычную или любой др кириллический языка они не распарсят? Спасибо !
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Распарсят
@RisDeep
@RisDeep 4 жыл бұрын
Стандартные символьные классы включают только латиницу. Например, const getWordCount = (str) => str.match(/\w+/g).length; // не работает с кириллицей const getWordCount = (str) => str.match(/[а-яА-ЯёЁ\w]+/g).length; // работает
@alexanderbunin7388
@alexanderbunin7388 2 жыл бұрын
В js есть look backward. Позитивный - (?
@pavpav1573
@pavpav1573 5 жыл бұрын
Подскажите, пожалуйста, какие программы и ос вы используете в данном видел ? Похоже на терминал и far , но far только для видны ведь
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
os fedora, терминал terminator, файловый менеджер и редактор mc (midnight commande, он есть для всех ос)
@pavpav1573
@pavpav1573 5 жыл бұрын
Timur Shemsedinov спасибо !
@pavpav1573
@pavpav1573 5 жыл бұрын
@@TimurShemsedinov а можно узнать почему именно fedora , а не ubuntu? она более удобна для разработки и программирования или это просто дело вкуса?
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
@@pavpav1573 довелось 4 месяца на убунте года 4 назад провести - более глючной ос я не видел, даже винда стабильнее, кроме того, федора родственная ос для CentOS и всего семейства RedHat, на ней и тов. Линус работает
@pavpav1573
@pavpav1573 5 жыл бұрын
@@TimurShemsedinov оу, спасибо за ответ! Теперь поищу дистрибутив Fedora себе!
@Igor_UA
@Igor_UA 6 жыл бұрын
СПАСИБО!!!
@JohnJTraston
@JohnJTraston Ай бұрын
Да regexp это как Assembler. Писать на нём можно, конечно, но потом гемора не оберёшься. Что-то длиннее уже 10 символов тяжело понять быстро.
@АлМ-ы8ъ
@АлМ-ы8ъ 5 жыл бұрын
По моему эпоха файловых менеджеров типа Far подошла к концу. Сейчас есть IDE (и в 2018 году уже давно были). Вы консерватор, товарищ автор (даже по уровню 2018, хоть и знаете много чего)
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Это миднайт, я его начал использовать в 1997 году под freebsd, новые версии выходят и сейчас, в 2020, разработка не остана, очень много пользователей на линуксах, фри, маках. Как командная строка не устарела, так и файловые менеддеры живее всех живых)))
@АлМ-ы8ъ
@АлМ-ы8ъ 5 жыл бұрын
@@TimurShemsedinov спорить с тобой не буду, но я видел до сих пор только использование нативной командной строки (неважно какой платформы) а не что то типа "Norton Commander". Я его в детстве изучал)
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
@@АлМ-ы8ъ А пользователи программного обеспечения не видят и консолей и IDE, для них создается впечатление, что все люди в мире работают в браузере и ворде )))
@АлМ-ы8ъ
@АлМ-ы8ъ 4 жыл бұрын
@@TimurShemsedinov Не ну это понятно. Но ведь в MC код писать гораздо медленнее...
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
@@АлМ-ы8ъ Это еще почему? И писать код быстро - вообще ничего хорошего в этом нет.
@TheKirk1989
@TheKirk1989 4 жыл бұрын
Редко встретишь айтишника который понятным для нормальных людей языком объясняет какую-либо информацию ! В этот раз я его тоже не встретил! :D
@ILoveSoImAlive
@ILoveSoImAlive 4 жыл бұрын
блин, я завис: при чём тут "вхождения"? 🤣🤦‍♂️ entry в данном случае значит не "вхождение", а "внесение/введение (записи)" или просто "запись". ну не хватает в англицком слов на все случаи жизни, поэтому сразу сто вещей одним словом обозначаются. но это же не значит, что при переводе просто любое из значений слова брать можно и везьде применять, где попало. 🤭 лекции замечательные 👍 ликбез нужен человечеству как воздух, если не хотим назад в каменный век. большое спасибо!
@geek7807
@geek7807 3 жыл бұрын
Вторая минута, количество Ээээ уже зашкаливает. Да и голос такой, как-будто перед началом записи диктор пробежал несколько километров без остановки…
Композиция функций (pipe, compose) в JavaScript
21:29
Timur Shemsedinov
Рет қаралды 8 М.
Sigma girl VS Sigma Error girl 2  #shorts #sigma
0:27
Jin and Hattie
Рет қаралды 124 МЛН
JISOO - ‘꽃(FLOWER)’ M/V
3:05
BLACKPINK
Рет қаралды 137 МЛН
Типизированные массивы в JavaScript
39:43
Timur Shemsedinov
Рет қаралды 9 М.
Регулярные выражения в JavaScript за 1 час | Уроки JavaScript
55:56
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 29 М.
022. Регулярные выражения - Максим Ширшин
58:39
Learn Regular Expressions In 20 Minutes
20:52
Web Dev Simplified
Рет қаралды 1,3 МЛН
Коллекции, множества, хештаблицы в JavaScript
50:42
Sigma girl VS Sigma Error girl 2  #shorts #sigma
0:27
Jin and Hattie
Рет қаралды 124 МЛН