2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3  След.
 
 Загадочный regexp
Сообщение26.01.2018, 10:04 


05/09/16
12064
Без гугления конкретного выражения в Интернете, сообщить, что будет находить регулярное выражение:

Код:
^.?$|^(..+?)\1+$

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 11:30 


10/03/16
4444
Aeroport
Мат?

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 12:12 


05/09/16
12064
ozheredov
Нет :)

-- 26.01.2018, 12:28 --

Краткий справочник по использованным символам
^ начало строки
. любой символ
? ноль или одно вхождение предыдущего выражения
$ конец строки
| "или" -- ищет выражение слева от |, а если не нашлось, то ищет выражение справа от |
() -- рассматривает все что внутри скобок как единый шаблон, если нашлось то захватывается в нумерованную подстроку, в нашем случае с номером 1
+ одно или больше вхождений предыдущего выражения
\1 найденная нумерованная подстрока с номером 1
Подробнее (и мне кажется достаточно для отгадывания) тут: https://ru.wikipedia.org/wiki/%D0%A0%D0 ... 0%B8%D1%8F

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 14:36 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
Пустая строка, один символ, $www^*$, где $|w| > 1$.

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 14:59 


05/09/16
12064
mihaild в сообщении #1287569 писал(а):
Пустая строка, один символ,

Да, это левая часть (до |).

mihaild в сообщении #1287569 писал(а):
$www^*$, где $|w| > 1$.

Нет :)

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 15:22 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
wrest в сообщении #1287575 писал(а):
Нет :)
Да, требования $|w| > 1$ нет (привык, что $+?$ - это ленивый $+$), и естественно $ww^*$ (откуда взял лишний повтор - не понимаю).

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 15:30 


05/09/16
12064
mihaild в сообщении #1287586 писал(а):
и естественно $ww^*$ (откуда взял лишний повтор - не понимаю).

Нет :)
А вообще, надо бы написать простым языком -- что именно фильтрует эта регулярка, то есть ответ на загадку нужен в форме "Сработают такие строки, в которых..."
Если вы этого еще не увидели, думаю что ответ вас очень удивит :mrgreen:

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 15:33 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
А, понял, откуда лишний повтор, там же $+$ а не $*$ над $\\1$ :)
Ну т.е. строки из $1$ символа или получающиеся повторением некоторой строки хотя бы три раза.

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 15:37 


05/09/16
12064
mihaild в сообщении #1287594 писал(а):
Ну т.е. строки из $1$ символа или получающиеся повторением некоторой строки хотя бы три раза.

Неконкретно, можно (вернее, нужно) написать точнее.

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 15:44 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
wrest в сообщении #1287596 писал(а):
Неконкретно, можно (вернее, нужно) написать точнее.
Можете привести пример строки, про которую непонятно, подходит ли она под это определение?

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 15:49 


05/09/16
12064
mihaild в сообщении #1287598 писал(а):
Можете привести пример строки, про которую непонятно, подходит ли она под это определение?

Нет, т.к. это будет подсказка.
Вместо этого, спрошу какие строки сматчатся (строка начинается с первой w)
1: w
2: ww
3: www
4: wwww
5: wwwww
6: wwwwww
7: wwwwwww
8: wwwwwwww
9: wwwwwwwww

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 16:05 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
Все (и в текстовом описании должно было быть "хотя бы два раза" - за это я и не люблю текстовые описания, в них часто проще запутаться).

Но вопрос, что неконкретного было в предыдущем описании, остается.

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 16:08 


05/09/16
12064
mihaild в сообщении #1287604 писал(а):
Все

Нет :)

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 16:16 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
Что считается "предыдущим выражением" для $+$ и $?$?
Если в $..+?$ $+$ навешивается на $.$, а $?$ на $.+$, то получается https://regex101.com/r/29oDAe/1, какая из ваших строк там не подходит?

 Профиль  
                  
 
 Re: Загадочный regexp
Сообщение26.01.2018, 16:20 


05/09/16
12064
mihaild в сообщении #1287609 писал(а):
то получается

Не получается, но раз уж вы решили немного почитерить и там потестировать, то введите регексп который задан.

Кстати, второй знак вопроса (тот что внутри скобок), если он смущает, можно вообще убрать, результат не меняется, просто ускоряется работа.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2, 3  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group