Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование[8]

Рекомендованные сообщения

(изменено)

Мужики, помогите плес, не могу понять что за хуйня.

Начал учить питон, тема regular expressions.

 

Есть строчка текста x= "From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008"

 

Юзаю метод re.findall('\S+?@\S+',x)

 

Какого хера тянет stephen.marquard@uct.ac.za? Ведь в части "S+?@" вопросик значит "нежадную" выборку, почему не возвращает d@uct.ac.za?

+? Quantifier — Matches between one and unlimited times, as few times as possible, expanding as needed

 

если тебе нужен один символ перед собакой, ищи одине символ.

.@\S+

Изменено пользователем SKYnv

 

<< твой комментарий очень важен для форума.

Поделиться сообщением


Ссылка на сообщение

Потому что +

 

Если тебе нужен d ставь \S{1}?@\S+

А вообще иди играйся на https://regex101.com/

Поделиться сообщением


Ссылка на сообщение
(изменено)

WvRTN0O.png

 

в твоем случае (чтобы захватить лишь "d" из левой части) тебе вообще не нужны никакие квантифаеры - хватит просто \S@

 

Потому что +

 

Если тебе нужен d ставь \S{1}?@\S+

А вообще иди играйся на https://regex101.com/

че это за высер? собственно, скинутый тобой сайт классифицирует его как МИНИНГЛЕСС КВАНТИФАЕР D:

 

@@Golden_Joe, легко понять, в чем разница между + и +?, можно на этих примерах:

2yN69x6.png

vs

UL1QlLb.png


Изменено пользователем moonfangtopich

Поделиться сообщением


Ссылка на сообщение

Спасибо парни! Как 1 символ перед @ вытащить я могу придумать, но хотелось бы до сути докопаться.

 

Просто по словам лектора выходит (если я все правильно понял), что '\S+?@\S+?' должно возвращать d@u, а без вопросов - полный емейл.

 

На деле я вижу в питоне что '\S+?@\S+?' возвращает stephen.marquard@u

 

'\S+?@\S+' возвращает stephen.marquard@uct.ac.za

 

и '\S+@\S+' возвращает тоже самое, stephen.marquard@uct.ac.za.

 

 

Т.е. 1-й вопрос почему-то ни на что не влияет, а второй отсекает все кроме одной буквы (как и сказал лектор).

Не могу понять, почему так?

Поделиться сообщением


Ссылка на сообщение

чувак, прочитай объяснение на первом скриншоте, а потом еще раз вдумчиво посмотри на скинутых мною два примера - станет понятно

Поделиться сообщением


Ссылка на сообщение
(изменено)

чувак, прочитай объяснение на первом скриншоте, а потом еще раз вдумчиво посмотри на скинутых мною два примера - станет понятно

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

 

Получается я думал, что сначала алгоритм находит @ а потом от него начинает расширять выборку влево и вправо; а на деле подбор всегда идет слева направо, поэтому +? в середине и в конце выражения ведут себя по-разному.


Изменено пользователем Golden_Joe

Поделиться сообщением


Ссылка на сообщение

На работе пилю фичу связанную с ебучими регулярками, захожу в топик и тут тоже блядские регулярки. Да ну вас нахуй поцаны  pepehands


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение

 

 

Группа будет от 18 до 45
советую группу сократить до 10 человек. 45 человек ты ничему не научишь 

Найди себе дело по душе и ты не будешь работать ни одного дня в своей жизни

Поделиться сообщением


Ссылка на сообщение

за то бабок заработаешь, а кто хочет - научится  :parovozdjan:


VyMEtE8XtOI.jpg

  лучшая цитата финта+жизненная

XbkBCDXetHY.jpg

Поделиться сообщением


Ссылка на сообщение

 

Группа будет от 18 до 45

советую группу сократить до 10 человек. 45 человек ты ничему не научишь
Мне кажется чел про возраст писал honkler
m()stEVIL понравилось это

pepehands 

Поделиться сообщением


Ссылка на сообщение

Это второй уровень?  takpadazhi


 

DB

59221730.png


Я - гений, ёпта

bfe7003be27e8e81ce6a7d2d8192e9ae.jpg


22


msg-93176-0-72842500-1438846470_thumb.jpg

Поделиться сообщением


Ссылка на сообщение

 

не согласен только с " кстати любой рефакторинг становится в миллион раз сложнее". Любой рефакторинг как раз легче с тестами. Хуй знает как рефакторить без тестов, тебе нужно вспомнить/перечитать все требования того, что ты делал месяц назад, и еще каждый раз проверять что ты нихуя не сломал + нихуя не забыл

Ну вот есть файл BaseNugit, там имеется самая часто юзабельная функция onComponentSettingChange. Я хотел её зарефакторить на фундаментальном уровне, ибо написана она криво прям пиздец, но сделать это почти нереально, ибо ручками придется залезать в сотни тестов, в которых она мокается кучей разных способов. Это лишь простой пример, там есть множества куда более ебанутых вещей, когда поле с каким-нибудь часто встречаемым именем может находится в множестве разных объектов. Так что если ты прогонишь search по всей базе, то ты найдешь сотни и сотни резалтов, половина из которых будет указывать на тестовые json конфиги (и будет относится к другим объектам).

 

эх, а вот было бы всё типизировано, нажал бы ctrl+r+r и вуаля во всех файлах всё переименовалось одной кнопкой


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

вы чо там бля уснули все? :trollface:

понедельник же где кул стори 

я вот сегодня решил апнуть версию хттп клиента в кор либе

получил лулзов с того, что перестал работать плагин кодогена из сваггера ибо нахуй плагин тупо не поддерживает ее

пришлось взять другой

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

сука

:lol:  zemlyapuhom


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

я вот сегодня хотел таску сделать

 

а нет, как всегда отвечал на 100500 вопросов и писал скрипты и день прошел


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

вы чо там бля уснули все? :trollface:

понедельник же где кул стори 

я вот сегодня решил апнуть версию хттп клиента в кор либе

получил лулзов с того, что перестал работать плагин кодогена из сваггера ибо нахуй плагин тупо не поддерживает ее

пришлось взять другой

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

сука

:lol:  zemlyapuhom

Говнолибопроблемы. То ли дело micronaut openapi генерящий свагер в компилтайме по аннотациям.

https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html

Поделиться сообщением


Ссылка на сообщение

 

вы чо там бля уснули все? :trollface:

понедельник же где кул стори 

я вот сегодня решил апнуть версию хттп клиента в кор либе

получил лулзов с того, что перестал работать плагин кодогена из сваггера ибо нахуй плагин тупо не поддерживает ее

пришлось взять другой

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

сука

:lol:  zemlyapuhom

Говнолибопроблемы. То ли дело micronaut openapi генерящий свагер в компилтайме по аннотациям.

https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html

 

выглядит красиво, но чот не понял что за хттп клиент под ним 

и не увидел возможность выбирать хттп клиент для генерации 

сейчас юзаю https://github.com/OpenAPITools/openapi-generator


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

 

только я хз хули ты на рустера нападаешь, фантазируя про его жизнь в говне на копейки - откуда инфа?

Он модератор на продоте, хуже этого диагноза не бывает. Говорю как бывший модер лол раздела, сериалов и других игр.

 

at first i wanted to argue but then


gIrw278.gif

Your desire is your essence.

Поделиться сообщением


Ссылка на сообщение

 


выглядит красиво, но чот не понял что за хттп клиент под ним 

 

netty


Микронавт в целом приятная штука, но там есть немного тонкостей.

 

Из idea чтобы ранить нужно включать аннотейшон процессоры это раз.

 

Бин резолвинг криво работает если ты возвращаешь бин как интерфейс в фабриках.

@Bean
IHyi getFirstHuy() {
return new ConcreteHuiA();
}

@Bean
IHyi getSecondHuy() {
return new ConcreteHuiB();
}

Код выше может создать только один бин в контексте.

 

Чтобы такого не было надо делать

@Bean
ConcreteHuiA getFirstHuy() {
return new ConcreteHuiA();
}

@Bean
ConcreteHuiB getSecondHuy() {
return new ConcreteHuiB();
}

Теперь заинжектив Collection<IHyi> hui
мы будем иметь два бина.

 

Ну и тд. Зато на этой штуке можно такие-то быстрые лямбды делать.

Поделиться сообщением


Ссылка на сообщение

вы чо там бля уснули все? :trollface:

понедельник же где кул стори 

я вот сегодня решил апнуть версию хттп клиента в кор либе

получил лулзов с того, что перестал работать плагин кодогена из сваггера ибо нахуй плагин тупо не поддерживает ее

пришлось взять другой

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

сука

:lol:  zemlyapuhom

Вот тебе кул хайку:

Хуй соси урод

Лох пидор нет друзей

Не пиши говно


 

Жиза для любопытных

Чекнул = пидор

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...