Уведомления

Группа в Telegram: @pythonsu

#1 Май 11, 2020 22:32:08

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 173
Репутация: +  2  -
Профиль   Отправить e-mail  

Поиск подстроки в строке. Что быстрее работает regex или s.find() и почему?

Поиск подстроки в строке. Что быстрее работает regex или s.find() и почему?
задача такая
найти есть ли в строка “ABCDEFGH123” три буквы “CDE” идущие подряд.
спасибо

Отредактировано gtlhbkkj (Май 11, 2020 22:33:35)

Офлайн

#2 Май 11, 2020 23:05:27

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Поиск подстроки в строке. Что быстрее работает regex или s.find() и почему?

А чем тебе это не подходит

 if 'CDE' in 'ABCDEFGH123':
    return True
return False
gtlhbkkj
Что быстрее работает regex или s.find() и почему?
Они работают по разному и возвращают разные данные. Все зависит от того, что тебе нужно дальше?

Офлайн

#3 Май 11, 2020 23:08:31

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 173
Репутация: +  2  -
Профиль   Отправить e-mail  

Поиск подстроки в строке. Что быстрее работает regex или s.find() и почему?

Romissevd
А чем тебе это не подходит
мне нужно только проверить истинность или ложность и больше ничего но очень много раз, возможно около миллиона, поэтому хотелось бы сразу подобрать оптимальный вариант.
Эту проверку мне нужно сделать всего один раз, а не проводить регулярно

Офлайн

#4 Май 11, 2020 23:12:03

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Поиск подстроки в строке. Что быстрее работает regex или s.find() и почему?

Это будет самый оптимальный вариант

 your_string = 'dfkjfCDEdfdfg'
if 'CDE' in your_string:
    return True
return False

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version