чтобы получить строку, имеющую специальный характер, используя регулярное выражение - PullRequest
0 голосов
/ 29 января 2019
import re 
strg = "what is AM&I"
z= re.sub(r'&', '', strg)
# pattern = r'(?:[A-Z]\.)+'
# pattern = r'\b(?:[A-Z][a-z]*){2,}'
regex = re.compile('[@_!#$%^&*()<>?/\|}{~:]')
print regex
print regex.search(strg)

мне нужно получить вывод как AM & I

1 Ответ

0 голосов
/ 29 января 2019

Это регулярное выражение

regex = re.compile(r'(\S*[@_!#$%^&*()<>?/\|}{~:]\S*)')

будет искать «слова» (означающие строки непустых символов), которые содержат хотя бы один из искомых специальных символов.

>>> strg = "what is AM&I"
>>> m=regex.search(strg)
>>> m.group(1)
'AM&I'

хотя, имея только один пример, очень вероятно, что он не будет соответствовать другим вещам, которые вы ищете (ложные негативы), или вернет вещи, которые вы на самом деле не ищете (ложные срабатывания).

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