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

[1:-1] - без первого и последнего знака в findall

16.02.2021, 12:48. Показов 803. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, известно, что [1:-1] - без первого и последнего знака
Python
1
all_st = re.findall(f'\n{stat.title()} [0-9][0-9].*?\n', special_part)
как его засунуть, чтобы \n не было? спс
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2021, 12:48
Ответы с готовыми решениями:

Ошибка " The free variable in 'findall' can only be used inside 'findall' " при использовании функции findall
Вот полный код программы: domains facts doctor(string, string, integer, integer) predicates timeOfWork(string)

Сортировка пузырьком без учета первого и последнего элемента
Добрый день знатоки. Я написал программу сортировка массива по методу пузырка. сам массив таков int arr = new int { 1, 9, 7, 2,...

Найти сумму элементов первого столбца матрицы без одного последнего элемента
задача: Найти сумму элементов первого столбца без одного последнего элемента, сумму элементов второго столбца без двух последних, сумму...

11
 Аватар для Matrix3007
198 / 164 / 41
Регистрация: 13.05.2019
Сообщений: 844
16.02.2021, 13:08
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как его засунуть
Кого засунуть?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
16.02.2021, 13:13  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
[1:-1]
или добиться, чтобы в переменную в массив не попали первый и последний знаки
0
16.02.2021, 13:15

Не по теме:

Ципихович Эндрю, перед тем как что то засовывать, стоит засунуть свою голову в книжку по основам, потом прочитать огромные книги по регуляркам, а потом уже задавать вопросы.

0
16.02.2021, 13:17

Не по теме:

DmFat, уничтожил))))

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.02.2021, 18:08
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как его засунуть, чтобы \n не было? спс
Если у тебя строчка находится между символами новой строки, значит она находится сразу вначале новой строки и заканчивается там, где начинается еще одна строка.
Зачем тогда добавлять символ новой строки в регулярку, когда для обозначения начала и конца есть свои метасимволы(якоря)?

Python
1
2
3
4
5
6
7
8
>>> re.findall(r"\n.+\n", "\nпривет\nмир\n")
['\nпривет\n']
>>> re.findall(r"\n.+\n", "\nпривет\nмир\n", re.DOTALL)
['\nпривет\nмир\n']
>>> re.findall(r"^.+$", "\nпривет\nмир\n", re.MULTILINE)
['привет', 'мир']
>>>  # multiline это включение многострочного режима для ^ и $. Иначе они означают только начало и конец всего текста, а не начало и конец любой строки.
>>>
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
16.02.2021, 20:03  [ТС]
спс, это решено, удивляет, что шаг в сторону и вспышка слева\справа
по этому принципу переделал
Python
1
2
3
4
5
6
7
import re
special_part = "\n(в ред. Федерального закона от 26.07.2017 N 203-ФЗ)\n"
special_part = re.sub('\n\(.*?\)\n', '\n', special_part)
print("=", special_part)
special_part = "\n(в ред. Федерального закона от 26.07.2017 N 203-ФЗ)\n"
special_part = re.sub('^\(.*?\)$', '\n', special_part, re.M)
print("=", special_part)
в ответе
=

=
(в ред. Федерального закона от 26.07.2017 N 203-ФЗ)
то есть мой способ работает, а Ваш - нет
но радости это не добавляет-так как на реальных моих данных после этих обработок полно строк начинающихся и заканчивающихся круглыми скобками, такие дела, в чём я ошибаюсь?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.02.2021, 20:35
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
а Ваш - нет
Какой твой способ? Какой мой? Я тебе показал как пользоваться якорями. И это всегда работает, если понимать что делаешь.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
16.02.2021, 20:40  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Какой твой способ?
вот
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
special_part = "\n(в ред. Федерального закона от 26.07.2017 N 203-ФЗ)\n"
special_part = re.sub('\n\(.*?\)\n', '\n', special_part)
print("=", special_part)
Цитата Сообщение от Garry Galler Посмотреть сообщение
Какой мой?
вот
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
special_part = "\n(в ред. Федерального закона от 26.07.2017 N 203-ФЗ)\n"
special_part = re.sub('^\(.*?\)$', '\n', special_part, re.M)
print("=", special_part)
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.02.2021, 10:50
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
после этих обработок полно строк начинающихся и заканчивающихся круглыми скобками
Покажи реальные данные. Файл. Или часть файла копипастом сюда.
И покажи какой должен быть результат.

С якорями получается так (re.M не советую использовать в re.sub - как-то не так работает, в отличие от стандартного синтаксиса модификаторов: (?imsx)):
Python
1
2
3
4
5
6
>>>> special_part = "\n(в ред. Федерального закона от 26.07.2017 N 203-ФЗ)\n"
>>> print(re.sub(r'(?m)^\(.*?\)$', 'замена', special_part))
 
замена
 
>>>
То есть строка, которая наиболее точно соответствует паттерну заменяется, но пустые строки, так как они паттерну соответствуют лишь вторично - остаются. Приоритет для замены имеет лишь та строка, которая более точно соответствует шаблону. В данном случае строка с символами имеет большее соответствие, чем строка без символов.

P.S. Ты в начале привел пример с findall - с findall якоря работают как я показывал. А потом показал пример с заменой. Не делай так больше.
Нужно сразу говорить, что ты хочешь и какую конкретно функцию используешь.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
17.02.2021, 10:54  [ТС]
ок, я не специально
Цитата Сообщение от Garry Galler Посмотреть сообщение
в начале привел пример с findall - с findall якоря работают как я показывал. А потом показал пример с заменой
не могу привыкнуть, что в Питоне регексы регексам рознь, ну видимо, чтобы вопросы и форумы были))
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.02.2021, 11:08
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
не могу привыкнуть, что в Питоне регексы регексам розн
Python тут не при чем. Шаблон для поиска ни в одном движке регулярных выражений не будет обязательно иметь тот же результат для замены. Это две разные операции. Различия мелкие, но могут совершенно обескураживать новичков.

Вот, потренируйся: https://coding.tools/regex-replace
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2021, 11:08
Помогаю со студенческими работами здесь

Найти сумму элементов первого столбца без одного последнего элемента, сумму второго столбца без двух последних
Задан двумерный массив. Найти сумму элементов первого столбца без одного последнего элемента, сумму элементов второго столбца без двух...

Найти сумму элементов первого столбца без одного последнего элемента, сумму элементов второго столбца без двух последних...
Здравствуйте, форумчане! У меня вот такая вот задачка: Задан двумерный массив. Найти сумму элементов первого столбца без одного...

Односвязный список. Вывести сумму последнего элемента и первого, предпоследнего и последнего и т.д.
Считываю с клавиатуры числа пока не встречаю 0. Например 1 3 7 5 8 1 0 Вывожу суму последнего элемента и первого, предпоследнего и...

Определение последнего знака
Доброго времени суток! Пишу Русификатор который переводит Игры от компании Биг-Фиш Гейм Там все переводы хранятся в файле типа ini Вот...

Оператор последнего знака в строке
Здравствуйте. Помогите пожалуйста в оптимизации кода. Цикл вайл проверяет все содержимое строк и копирует строку где есть знак...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru