#python
#python
Вопрос:
Я хотел бы выполнить поиск с помощью регулярного выражения и получить те же результаты, x1
что и в x2
Мой шаблон регулярных выражений: r'firmado por: (.*?)[-|n|.]'
Спасибо
import re
class Juez(object):
def __init__(self, sentencia: str=None):
super(Juez, self).__init__()
self.sentencia = sentencia.lower()
self.unknow_juez = 'unknown'
self.pattern = r'firmado por: (.*?)[-|n|.]'
def search_juez(self) -> str:
juez = re.search(
pattern=self.pattern,
string=self.sentencia
)
if juez:
juez = juez.group(1)
if juez[-1] == ' ':
juez = juez[:-1]
else:
juez = self.unknow_juez
return juez
sentencia1='Firmado por: Simon Gregorio Laner.'
sentencia2='Firmado por: Simon Gregorio Laner'
x1 = Juez(sentencia=sentencia1).search_juez()
x2 = Juez(sentencia=sentencia2).search_juez()
>>> print(x1)
simon gregorio laner
>>> print(x2)
unknown
Комментарии:
1. Попробуйте
r'firmado por: (.*?)s*.?$'
2. это работает, но если у меня есть
sentencia1='Firmado por: Simon Gregorio Laner. Next info'
шаблон, не обрезайте строку @kishkin3. не работай, братан! @kishkin
4. Вам нужно все, вплоть до первого знака точки?
r'firmado por: ([^.] )'