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

Применение регулярных выражений

12.05.2018, 12:13. Показов 678. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется список

Python
1
listPet = [['10dog', '499cat', '100parrot'],['5.12elephant', '45.21tiger', '100pig']]
нужно анализировать числа и названия животных. Сейчас все это делаю в циклах, перебирая значения каждой строки и анализируя isnumeric() isalpha() и помещая результаты в разные строки.
На выходе получаю список с последовательностью значений: [(число), (животное)]
примерно так:
Python
1
2
3
4
5
6
7
8
9
10
for n in listPet:
    strNumber = ''
    pets = ''
    for char in n:
        if char == '.' or char == '-' or char == '+':
            stringValue += char 
        if char.isnumeric():
            stringValue += char
        elif char in Pets:
            pets += char
Регулярные выражения как-то помогут решить проблему более элегантно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2018, 12:13
Ответы с готовыми решениями:

Создание акронима из регулярных выражений
Добрый день! есть задачка, создать акроним из слов, содержащихся в строке. я нахожу первые буквы,...

Таблица переходов регулярных выражений
Здравствуйте, столкнулась с такой вот задачей : на вход подается регулярное выражение ( только...

Парсинг файла с применением регулярных выражений
Приветствую всех! Ребята, подскажите. Есть файл со следующим содержимым. Необходимо с помощью...

Создание метода стрип из регулярных выражений
Нужно с помощью регулярных выражений написать строковую функцию strip(). Я пытался написать с...

2
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
12.05.2018, 14:43 2
Python
1
2
3
4
5
6
7
8
import re
 
for line in listPet:
    res = re.findall(r'([\d.+-]+)(?i)([a-z]+)',''.join(line))
    print(res)
    
[('10', 'dog'), ('499', 'cat'), ('100', 'parrot')]
[('5.12', 'elephant'), ('45.21', 'tiger'), ('100', 'pig')]
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
12.05.2018, 16:05 3
Python
1
2
3
4
import re
 
listPet = [['10dog', '499cat', '100parrot'],['5.12elephant', '45.21tiger', '100pig']]
print(*([match for match in re.findall(r'(\d+\.?\d*)([a-z]+)',''.join(line))] for line in listPet),sep='\n')
0
12.05.2018, 16:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2018, 16:05
Помогаю со студенческими работами здесь

Ошибка при использовании регулярных выражений
Приветствую. Решаю задачу по поиску максимальных и минимальных чисел в текстовом файле. import re...

Извлечение значений из строки с помощью регулярных выражений
Помогите ПОЖАЛУЙСТА написать регулярное выражение.. вот задача: 2) Необходимо написать регулярное...

Использование регулярных выражений для поиска подстроки в строке
Приветствую. Есть задача - забрать фамилию человека из строки вида: Вы зашли под именем ...

Поиск повторяющихся друг за другом слов с использованием регулярных выражений
Дан следующий текст: 'hello world hello hello hello world worldhellohellohello' Какое должно...

Проверка строки на соответствие определенному формату без применения регулярных выражений
Подскажите, пожалуйста, как проверить строку на соответствие определенному формату без применения...

Как сделать эффективнее код подсчета длины отрезков (использование регулярных выражений, сортировки)
Файл in.txt cодержит корректные вещественные координаты отрезков на плоскости (по одному отрезку в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru