Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.02.2022
Сообщений: 5

Выделение найденных символов

07.02.2022, 16:26. Показов 1103. Ответов 7

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые программисты. Помогите решить мою проблему. У меня есть строка, в которой я нахожу слова содержащие введённые символы. Как мне реализовать изменения цвета введенных символов в найденных словах.

p = input('Поиск:')
s = 'она Она телефон Онколог'
sp = re.findall(fr'[^\s]*{p}[^\s]*', s, re.I)
print(sp)

['она', 'Она', 'телефон', 'Онколог']
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.02.2022, 16:26
Ответы с готовыми решениями:

Выделение цветом найденных слов в richtextbox
Доброго дня. Метод для нахождения слов из текстового редактора есть, но он вписывает в другой редактор позицию слова в тексте, нужно...

Выделение цветом найденных записей в DGV
Есть таблица (список имен) и textbox, который является поиском. По начальным буквам выделяется все имена, которые начинаются как в боксе....

Смена цвета найденных символов в QTableWidget
Здравствуйте. Написал код по поиску слов по символам, как сделать, чтобы найденные символы меняли цвет скажем на красный? Буду благодарен...

7
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.02.2022, 17:04
billuz, colorama.
0
0 / 0 / 0
Регистрация: 07.02.2022
Сообщений: 5
07.02.2022, 17:22  [ТС]
Уважаемый Arsegg. Прошу прощения за не достаточно объемлющий вопрос. Скажем в поиске я ввожу буквы 'он', в регулярном выражении игнорирую регистр. На выводе получаю результат из всех слов содержащих буквы 'он'. Так вот эти буквы в словах нужны другого цвета.


p = input('Поиск: он')

['она', 'Она', 'телефон', 'Онколог']
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
07.02.2022, 23:31
Лучший ответ Сообщение было отмечено КулХацкеръ как решение

Решение

Цитата Сообщение от Arsegg Посмотреть сообщение
colorama
Да можно и без нее
Python
1
2
3
4
5
from re import sub
 
s = 'Come crawling faster, obey your master!'
f = 'st'
print(sub(f, lambda x: '\033[31m' + x.group() + '\033[39m', s))
2
0 / 0 / 0
Регистрация: 07.02.2022
Сообщений: 5
08.02.2022, 01:24  [ТС]
Спасибо за ответ. Но проблема моя чтобы и в верхнем регистре тоже были в цвете.
У меня не получается их выделить. Поиск находит слова и с заглавными буквами и вот как их тоже выделить цветом не могу понять.
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
08.02.2022, 02:16
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ESCAPE_CHARACTER = '\x1b'
 
CONTROL_SEQUENCE_INTRODUCER = ESCAPE_CHARACTER + '\x9b'
 
SGR_PARAM_RESET_ALL = 0
 
SGR_PARAM_SET_FOREGROUND_COLOR = 30
 
COLOR_RED = 1
 
def select_graphic_rendition(parameter):
    return '{}{}m'.format(CONTROL_SEQUENCE_INTRODUCER, parameter)
 
from re import sub
 
p = input('Поиск: ')
s = 'она Она телефон Онколог'
 
print(sub('(?i)' + p, lambda x: select_graphic_rendition(SGR_PARAM_SET_FOREGROUND_COLOR + COLOR_RED) + x.group() + select_graphic_rendition(SGR_PARAM_RESET_ALL), s))
2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.02.2022, 08:03
Цитата Сообщение от billuz
Но проблема моя чтобы и в верхнем регистре тоже..
У тебя же в регулярке стоит флаг Ignorecase. Что мешало добавить его же к моему коду (см. код КулХацкеръ) ? Или регулярка просто стащена откуда-то, без понимания?
1
0 / 0 / 0
Регистрация: 07.02.2022
Сообщений: 5
08.02.2022, 16:44  [ТС]
Да все получилось. Спасибо. Я не силен в программировании а с регулярками вообще голову сломал.
Решил сделать для себя определенный поисковик по моим файлам. Можно было конечно найти готовые коды что я и сделал сначала. Но потом и они перестали устраивать. И вот втянулся в изучение языка. Уже месяц от компа не отхожу. А чем глубже в лес тем больше непоняток. Так что прошу прошение за мою некомпетентность. И еще раз спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.02.2022, 16:44
Помогаю со студенческими работами здесь

Как вывести количество найденных символов в Lable?
Программа ищет символы + - / * в richtextbox и если эти символы найдены, то она окрашивает их в красный цвет. Сколько символов введено...

Как сделать подсчет найденных символов в textBox'е
Я начинающий программист на C#. Помогите плиз... Вобщем есть у нас два textBox'а в 1 основной текст, главное текстовое окно, в него можно...

Поиск строк с датами с использованием регулярного выражения и выделение этих дат из найденных строк
Как можно вывести только дату? Например в внутри файла сертификата (cer/crt) содержат строки: NotBefore: 02.04.2008 14:00 NotAfter:...

Поиск слов по букве, и выделение найденных слов
Задача такая, есть список из 1 млн слов. Необходимо найти все слова, которые содержат букву "а" независимо от регистра. Далее...

Сформировать множества символов текстовых строк А, В и вывести элементы найденных множеств на экран.
Сформировать множества символов текстовых строк А, В и вывести элементы найденных множеств на экран. найти символы строки А, которые не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 01.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 31.01.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru