dmitriy337
@dmitriy337
Python Dev from Ukraine

Как достать значение с помощью регулярных выражений?

'#9f8757'
'#d59005']
'#edf8f0'
'#77d525'
'#C36728'
['#e1331b'
'#b97601'
'#aa9169'
'#55672b'
'#2684a6'
'#e5d5bc'


Нужно отсюда вытащить значение между ' '
  • Вопрос задан
  • 124 просмотра
Решения вопроса 2
@dzhebrak
Если эти данные лежат в каком-то файле, то:
from pathlib import Path
import re

filename = 'test123.txt'

content = Path(filename).read_text()
result = re.findall(r"'(#[0-9a-fA-F]+)'", content)

print (result)
Ответ написан
Комментировать
LazyTalent
@LazyTalent
Data Engineer, Freelancer
>>> import re
>>> s = """'#9f8757'
... '#d59005']
... '#edf8f0'
... '#77d525'
... '#C36728'
... ['#e1331b'
... '#b97601'
... '#aa9169'
... '#55672b'
... '#2684a6'
... '#e5d5bc'"""
>>> sl = re.findall(r"'(#.+)'", s)
>>> sl
['#9f8757', '#d59005', '#edf8f0', '#77d525', '#C36728', '#e1331b', '#b97601', '#aa9169', '#55672b', '#2684a6', '#e5d5bc']
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@PavelMos
(\'.*\')
отражающие символы перед кавычками, точка - любой символ, * - брать следующие символы бесконечно, ( ) - каждое найденное сочетание будет сохранено отдельным результатом.

Если формат строки известен - начинается с #,затем 6 символов из букв и цифр, то имхо проще и понятней искать это сочетание
(#[a-zA-Z0-9]{6})
# первый символ
[a-zA-Z0-9] диапазоны символов - строчные, прописные латиница + цифры
{6} - брать то где ровно 6 символов
( ) - каждое найденное сочетание будет отдельным результатом

Для питона можно регекспы пробовать тут:
https://pythex.org/
Ответ написан
Комментировать
netpastor
@netpastor
Python developer
https://regex101.com/#python больше нравится как онлайн тестер
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы