Проблема регулярного выражения со строкой заканчивается, пока не появится символ с python

#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' шаблон, не обрезайте строку @kishkin

3. не работай, братан! @kishkin

4. Вам нужно все, вплоть до первого знака точки? r'firmado por: ([^.] )'