#python #python-3.x
#python #python-3.x
Вопрос:
Мне нужно найти строку, в которой уже удалены специальные символы. Итак, я хочу найти эту строку в предложении и вернуть строку со специальными символами. Пример: string = France09
Sentence : i leaved in France'09.
теперь, когда я сделал re.search('France09',sentence)
, он вернет True
или False
. Но я хочу получить выходные данные в виде France'09
.
Кто-нибудь может мне помочь.
Комментарии:
1. Ваше регулярное выражение корректно, только если ожидаемый результат
France'09
. Возможно, вам потребуетсяgroup()
извлечь выходные данные.2. Итак, вы хотите, чтобы
'
s добавлялись к вашим результатам? Слова, которые, как ожидается, будут иметь'
, следуют определенному шаблону? Всегда ли за словом следует число? В противном случае, как вы узнаете, куда поместить'
?
Ответ №1:
Из документации (https://docs.python.org/2/library/re.html#re.search ) поиск не возвращает True
или False
:
Просматривайте строку в поисках первого местоположения, где шаблон регулярного выражения выдает совпадение, и возвращайте соответствующий экземпляр MatchObject. Возвращайте None, если ни одна позиция в строке не соответствует шаблону; обратите внимание, что это отличается от поиска совпадения нулевой длины в некоторой точке строки.
Ответ №2:
Взгляните на https://regex101.com/r/18NJ2E/1
TL;DR
import re
regex = r"(?P<relevant_info>France'09)"
test_str = "Sentence : i leaved in France'09."
matches = re.finditer(regex, test_str, re.MULTILINE)
for match in matches:
print(match.group('relevant_info'))
Ответ №3:
Попробуйте это:
Input_str = "i leaved in France'09"
Word_list = Input_str.split(" ")
for val in Word_list:
if not val.isalnum():
print(val)
Вывод:
France'09
Ответ №4:
Вам нужно будет создать регулярное выражение, которое соответствует специальным символам в любом месте:
import re
Sentence = "i leaved in France'09"
Match = 'France09'
Match2 = "[']*".join(Match)
m = re.search(Match2, Sentence)
print(m.group(0))
Match2 получает значение "F[']*r[']*a[']*n[']*c[']*e[']*0[']*9"
. Вы можете добавить другие специальные символы в [']
часть.
Комментарии:
1. можете ли вы показать мне, как вы можете обработать это для двух специальных символов? предложение =’Я родился 31.12.1989′ поле =’12311989
2. @yoganand_DS Обновите предложение и сопоставьте переменные.
Match2 = ['/]*".join(Match)