powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярные выражения
13 сообщений из 13, страница 1 из 1
Регулярные выражения
    #39606601
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Не могу понять логики данных примеров, буду признателен если объясните.

Код: javascript
1.
console.log("hi".match(/\s*/g)); //["", "", ""]


Если паттерн просто состоит из \s тогда все логично - null а когда квантификатор * возвращает три пустых строки???

Код: javascript
1.
console.log("hi".match(/[hi]*/g)); //["hi", ""]


Тут аналогично, без квантификатора закономерно вернет отдельно "h" и "i" а откуда пустая строка при использовании квантификатора???

Код: javascript
1.
console.log("hi".match(/[.]*/g)); // ["", "", ""]


Тут вообще в шоке, точка означает любой символ кроме перевода строки....каким образом три пустые строки???
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606661
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,
Kleene star значит «повторяется 0 или более раз», следовательно, в строке 'hi' пробельный символ 0 раз можно найти трижды:
— перед h;
— между h и i;
— после i.
Остальные примеры разбираются аналогично.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606669
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ы2Kleene star значит «повторяется 0 или более раз», следовательно, в строке 'hi' пробельный символ 0 раз можно найти трижды:
Где же там пробельный символ...там строка без пробелов идет.

Ы2Остальные примеры разбираются аналогично.
Во втором примере я ищу или i или h правдо жадно поэтому должно найти hi но откуда берется пробел?
В третьем примре вообще ищу любой символ а находит вместо символов пробелы....не понимаю
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606682
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

вот поиграйтесь тут: https://regex101.com/
думаю станет понятнее
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606698
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAвот поиграйтесь тут: https://regex101.com/
думаю станет понятнее

Полезный ресурс...но там только что означает каждый символ в паттерне и что получается в итоге, а почему так происходит....вопрос остается открытым.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606715
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606716
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в квадратных скобках точка означает точку, а не любой символ. Про это там тоже написано.

Вообщем читайте внимательно.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606719
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И если Вы не заметили ещё и Quick Reference , где описаны в том числе и Quantifiers , то советую посмотреть, чем отличается звёздочка от плюсика
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606744
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA * Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
Ну я знаю что означает упрощенный квантификатор звездочка -{0,}. Но вы так и не объяснинили толком) Я все внимательно там прочитал. Все получается логично и я не спорю с этим но я не понимаю этой логики.
Все же почему возвращаются три пустые строки, если ищем /\s*/. Ведь в строке нет ни одного пробела!!! По этому логично если бы вернулось null
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606745
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAА в квадратных скобках точка означает точку, а не любой символ. Про это там тоже написано. Да, там тоже это написано, я это тоже понимаю, но тогда мы ищем именно точку, в строке нет ни одной точки, откуда берутся эти пустые строки снова.....
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606746
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronЫ2Kleene star значит «повторяется 0 или более раз», следовательно, в строке 'hi' пробельный символ 0 раз можно найти трижды:
Где же там пробельный символ...там строка без пробелов идет.
Правильно. Любой символ обнаруживается 0 раз везде, где его нет :)
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606751
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

в начале строки ноль раз встречается пробельный символ, после буквы h и после i

Может начнёте уже читать и вникать? Понимаю, что Вы ожидали иного поведения, потому как не до конца разобрались.
Ну вот теперь разобрались
...
Рейтинг: 0 / 0
Регулярные выражения
    #39606922
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAНу вот теперь разобрались

О боги! Неужели до меня дошло)) Спасибо за терпение ваше!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярные выражения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]