powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему в регулярках различаются (\D|$) и ([\D$])
11 сообщений из 11, страница 1 из 1
Почему в регулярках различаются (\D|$) и ([\D$])
    #40021792
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, помогите разобраться
Задача: поставить точки в разрядах числа

Первый шаблон верный второй неверный:
(\d)(?=((\d\d\d)+(\D|$)))
(\d)(?=((\d\d\d)+([\D$])))

Во втором ошибка в том, что если число находится в конце всего текста то это число не обрабатывается.
Почему так?

Пример верный https://regex101.com/r/5CDXpK/2
Пример неверный https://regex101.com/r/F8dY80/1298
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40021805
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно квадратные скобки обозначают диапазон символов или set символов.
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40021921
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, верно, но вопрос тут в в том, что это работает кроме случая, когда число в конце текста
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40021937
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проговори словами, что ты хочешь.

Если тебе нужна группировка - используй круглые скобки.
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40021941
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, вроде написано в топике - почему два одинаковых по сути шаблона работают по разному?
Я не прошу решить задачу, она решена уже.
Кстати, про круглые скобки - они используются в обоих случаях
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40022015
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0
mayton, вроде написано в топике - почему два одинаковых по сути шаблона работают по разному?
Я не прошу решить задачу, она решена уже.
Кстати, про круглые скобки - они используются в обоих случаях

Тебе уже написали - внутри квадратных скобок бакс интерпретируется как символ бакса, а не как конец строки.

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
PS *@*:~$ '' -match '$'
True

PS *@*:~$ '' -match '[$]'
False

PS *@*:~$ '$' -match '[$]'
True
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40022031
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внутри кв. скобок "своя атмосфера"
https://learn.javascript.ru/regexp-character-sets-and-ranges#ekranirovanie-vnutri-
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40022044
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я понял - в примерах которые я привел на regex101 в конце строк стоят пробелы, поэтому в этих строках отрабатывают \D
это меня и сбило с толку, что некоторые числа обработались
fkthat, ты ошибаешься, этого никто не писал до тебя
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40022047
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1, спасибо за ссылочку, знал в теории это, а на практике пропустил
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40022111
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vi0,

вот еще тебе плакат-шпаргалка https://cheatography.com/davechild/cheat-sheets/regular-expressions/pdf/

И не забывай что смысл символа в регулярке может меняться в зависимости от контекста.
Например знак дефиса между альфа-символами может обозначать диапазон [a-z], а если
этот-же символ стоит по другому - то смысл меняется.
...
Рейтинг: 0 / 0
Почему в регулярках различаются (\D|$) и ([\D$])
    #40022120
vi0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, коллеги
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему в регулярках различаются (\D|$) и ([\D$])
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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