PDA

Просмотр полной версии : Работа с библиотекой re


FixZer
06.02.2025, 13:30
Всем привет! Я с толкнулся с одной проблемкой, у меня никак не получается удалить эмодзи, если оно в строке одно. В общем покажу на примере что мне нужно

Допустим у меня есть вот такой код:

Пример кода:






import
re

text
=
"""🆕INDICATOR - БЕСПЛАТНО🆕
Примеры всех позиций есть по кнопке ниже 🚩
решил поделится с вами индикатором который выдает сигналы с 95% отработкой абсолютно бесплатно ребята, зайдите попробуйте это просто 💯КНОПКА БАБЛО🔥
Заходите, БЕСПЛАТНО ВЫДАДУТ ТОЛЬКО ПЕРВЫМ 100 ЧЕЛОВЕК 👑 дальше будет очень дорого такая находка 🥇
🔖Помимо этого всего вам дадут очень много БЕСПЛАТНОГО обучающего материала📎
✏️Залетайте и забирайте индикатор 🆕
👋"""
remove_words
=
[
'ByBit | YouTube'
]
for
remove_word
in
remove_words
:
pattern
=
r'\s*'
.
join
(
[
rf'({re.escape(word)}|]+>{re.escape(word)}]+>)'
for
word
in
remove_word
.
split
(
)
]
)
pattern
=
rf'{pattern}(?:\s*.*?)?\s*'
text
=
re
.
sub
(
pattern
,
''
,
text
,
flags
=
re
.
IGNORECASE
)
.
strip
(
)
text
=
re
.
sub
(
r'(?m)^(?:\s*.*?\s*)+$'
,
''
,
text
,
flags
=
re
.
M
)
.
strip
(
)
# Строка, которая некорректно работает
print
(
text
)




В общем есть текст, в котором присутствует одна строка "👋" которую нужно удалить, так как после неё и перед ней не стоит текст.

Мучался 2 дня, решил обратиться сюда, может кто-нибудь сталкивался с такой проблемой, ну или разбирается в регулярках намного лучше чем я. А то я только начал изучать библиотеку re.

Результат должен получиться вот таким:

Результат:






🆕INDICATOR - БЕСПЛАТНО🆕

Примеры всех позиций есть по кнопке ниже 🚩
решил поделится с вами индикатором который выдает сигналы с 95% отработкой абсолютно бесплатно ребята, зайдите попробуйте это просто 💯КНОПКА БАБЛО🔥

Заходите, БЕСПЛАТНО ВЫДАДУТ ТОЛЬКО ПЕРВЫМ 100 ЧЕЛОВЕК 👑 дальше будет очень дорого такая находка 🥇

🔖Помимо этого всего вам дадут очень много БЕСПЛАТНОГО обучающего материала📎

✏️Залетайте и забирайте индикатор 🆕

Fott
06.02.2025, 14:20
Python:






filtered_text
=
"\n"
.
join
(
line
for
line
in
text
.
split
(
"\n"
)
if
not
re
.
fullmatch
(
r"([^)+"
,
line
.
strip
(
)
)
)
print
(
filtered_text
)

FixZer
06.02.2025, 14:30
Python:






filtered_text
=
"\n"
.
join
(
line
for
line
in
text
.
split
(
"\n"
)
if
not
re
.
fullmatch
(
r"([^)+"
,
line
.
strip
(
)
)
)
print
(
filtered_text
)





Спасибо большое, работает!

Вот только хочу спросить, а если будет допустим проскакивать вот к примеру вот так:

🥇

Можно ли как то к регулярке добавить ?

Fott
06.02.2025, 14:36
Спасибо большое, работает!
Вот только хочу спросить, а если будет допустим проскакивать вот к примеру вот так:
🥇
Можно ли как то к регулярке добавить ?



Python:






filtered_text
=
"\n"
.
join
(
line
for
line
in
text
.
split
(
"\n"
)
if
not
re
.
fullmatch
(
r"(]*)?>[^)+"
,
line
.
strip
(
)
)
)