Обсуждение:Регулярные выражения

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

В чем проблема с жадными выражениями?[править код]

[1] [2] X-romix 08:35, 30 июля 2008 (UTC)Ответить[ответить]

Похоже на вандализм, откатил. --SergV 10:00, 30 июля 2008 (UTC)Ответить[ответить]

Войны упорядочений разделов. Что именно должно быть на переднем плане?[править код]

Когда-то был соблюдён хронологический порядок — тогда актуальное шло после устаревшего. Потом устаревшее пристроили в конец статьи (там и место ему), и победило актуальное. Первый этап, кажется, пройден.

Так и не устоялась «правильная» последовательность разделов.

Правильно, безусловно, когда нижний слой подготавливает основную часть. Вот только в данной статье вся key feature (квантификация + обратная связь) сдвинулась куда-то к середине, а на передний план вышли технические детали, которые погоды не делают. И без них нельзя, и с ними обычный человек не врубится, о чём статья.

А не вынести бы их в отдельную статью? Там пусть будет подробно, а здесь они только мешаются.

То есть (программа минимум) создаём статью «Представление символов в regex» (примерно такую) и переносим туда «Представление символов по их коду» и «Управляющие символы». --Avosco 08:42, 27 декабря 2008 (UTC)Ответить[ответить]

Я думаю, если Вам долго не отвечают, можно сделать по-своему. — Jαζζ (Α и Ω)  13:51, 5 января 2009 (UTC)Ответить[ответить]

Были вынесены следующие разделы:

  • в первую очередь:
    • Представление символов по их коду
    • Управляющие символы
  • зависимые от них:
    • Символьные классы (частично)
    • Классы символов POSIX

--Avosco 04:35, 9 января 2009 (UTC)Ответить[ответить]

Вообще то традиционный NFA может работать и без откатов[править код]

(но этот алгоритм распознаёт только RE без обратных ссылок и захватывающих скобок). Кроме того, в Tcl используется гибридный NFA+DFA движок.

Если есть безоткатный частный случай, почему бы и не пополнить раздел?
Вообще в разделе «Реализации» не хватает ссылок на источники. Если у Вас есть какая-либо информация (о движке Tcl и др.), не забудьте добавить ссылку. --Avoscoтолк 08:48, 6 февраля 2009 (UTC)Ответить[ответить]

Если кто-то раздумывает о выдвижении статьи[править код]

в хорошие:

  • 5. Статья должна быть законченной и не содержать откровенно недописанных разделов.
    Это может касаться разделов Версии регулярных выражений и Реализации.
  • 12. Обязательно наличие сносок на авторитетные источники информации.
    Здесь полный ноль.

А так до хорошей, IMHO, — рукой подать. --Avoscoтолк 12:02, 19 февраля 2009 (UTC)Ответить[ответить]

Влияние квантификаторов на захватывающие группы[править код]

В статье написано, что если на группу действует квантификатор, будет запомнено первое совпадение. На самом деле, в Java (и на 99% уверен, что в Perl) будет запомнено последнее. Пример:

BeanShell> "abc".replaceAll("(.)+", "$1")
c

Статью править не рискнул, вдруг я чего не так понял. 217.195.52.165 16:29, 17 марта 2009 (UTC)Ответить[ответить]

Ревнивый[править код]

не только старается найти максимально длинный вариант, но ещё и не позволяет возвращаться назад впоследствии для перебора других возможных вариантов. Жадный Ревнивый

Так ленивый или ревнивый?

правильно — «Ленивый» Xchgall 05:43, 26 сентября 2009 (UTC)Ответить[ответить]
Это разные квантификаторы. "Ревнивые" — это possessive. --SergV 13:39, 26 сентября 2009 (UTC)Ответить[ответить]

Вопрос[править код]

Скажите люди добрые, есть ли на свете поисковые системы, типа гугла яндекса или нигмы, дающие пользователю использовать регулярные выражения?

92.124.149.207 17:08, 10 мая 2010 (UTC)Ответить[ответить]
Ответил здесь. Но вообще учтите, что страницы обсуждения в википедии предназначены для обсуждения самих статей википедии, а не тем статей! -- X7q 21:29, 10 мая 2010 (UTC)Ответить[ответить]

SNOBOL[править код]

Почему нет ссылок на SNOBOL, REFAL?

они появились раньше, чем большинство описаных пионеров в этой области и были довольно широко известны в СССР.

Статус файла Файл:RegExp tutorial.png[править код]

Уважаемые авторы статьи! При проверке описания несвободного файла Файл:RegExp tutorial.png, использующегося в данной статье, обнаружились некоторые проблемы. Обратите внимание, что использование несвободного файла должно соответствовать критериям добросовестного использования, а его описание должно обязательно содержать заполненные шаблон описания несвободного файла и шаблон обоснования добросовестного использования (для каждой статьи, использующей данный файл). Если статус указанного файла не прояснится в течение 7 дней, администраторы будут вынуждены его удалить. Поэтому не пожалейте времени, чтобы разобраться с его статусом. Alex Spade 18:26, 14 июня 2014 (UTC)Ответить[ответить]

Вопрос[править код]

Как можно "научить" бота этому если lat_min = или > 60, то сделать lat_min = 59 с помощью регулярных выражений? --Химик1991 16:20, 28 августа 2015 (UTC)Ответить[ответить]

  • Никак (точнее, можно очень костыльно: поставить условие, чтобы эта цифра не была трёхзначной, \D\d\d\D, и перечислить списком все (не)допустимые значения). Регэкспы не умеют в арифметику. MaxBioHazard 16:35, 28 августа 2015 (UTC)Ответить[ответить]

Недостатки?[править код]

А где раздел про недостатки, про то, что они - write only код? По коду, работающему со структурами данных, можно определить структуру этих структур; по коду с регекспами определить что-то тяжело.

Тогда можно и про возможные решения проблемы (вроде re.VERBOSE и комментариев). 85.140.185.240 17:14, 19 августа 2017 (UTC)Ответить[ответить]

Результат регулярного выражения[править код]

Из текущей версии статьи не понятно, что собственно является результатом регулярного выражения, или его выполнения. В статье всего три раза упоминается слово "результат" (все в разделе группировка), и фраза "использование ранее найденных групп символов" говорит о том, что использование regex подразумевает какой-то результат, но нигде об этом прямо не говорится. Я понимаю, что ВП не является учебником, но текущая версия статьи не способна объяснить, что такое регулярные выражения, она объясняет их синтаксис. ☭Acodered 20:04, 20 марта 2016 (UTC)Ответить[ответить]

Не хватает именованных групп[править код]

Например:

(?'id'[a-zA-Z0-9]{1,6})

^http(?:s?):\/\/regex101\.com\/r\/(?'id'[a-zA-Z0-9]{1,6})?$

Пример: https://regex101.com/r/hvT8Fo/1

Декларативный язык программирования[править код]

В английской версии en:Declarative programming регулярные выражения перечислены в преамбуле как язык, относящийся к декларативной парадигме программирования. Предлагаю сюда в конец преамбулы добавить строку: «В информатике относится к декларативным языкам программирования». Михаил Ягих (обс.) 18:07, 14 ноября 2022 (UTC)Ответить[ответить]