Divide cadena por salto de línea o período con expresiones regulares de Python

Tengo una cadena:

"""Hello. It's good to meet you. My name is Bob.""" 

Estoy tratando de encontrar la mejor manera de dividir esto en una lista dividida por puntos y saltos de línea:

 ["Hello", "It's good to meet you", "My name is Bob"] 

Estoy bastante seguro de que debería usar expresiones regulares, pero, como no tengo experiencia con ellos, estoy luchando por descubrir cómo hacerlo.

No necesitas expresiones regulares.

 >>> txt = """Hello. It's good to meet you. ... My name is Bob.""" >>> txt.split('.') ['Hello', " It's good to meet you", '\nMy name is Bob', ''] >>> [x for x in map(str.strip, txt.split('.')) if x] ['Hello', "It's good to meet you", 'My name is Bob'] 

Para su ejemplo, sería suficiente dividir en puntos, opcionalmente seguido de espacios en blanco (e ignorar los resultados vacíos):

 >>> s = """Hello. It's good to meet you. ... My name is Bob.""" >>> import re >>> re.split(r"\.\s*", s) ['Hello', "It's good to meet you", 'My name is Bob', ''] 

En la vida real, tendrías que manejar al Mr. Orange , al Dr. Greene y a George W. Bush , aunque …

 >>> s = """Hello. It's good to meet you. ... My name is Bob.""" >>> import re >>> p = re.compile(r'[^\s\.][^\.\n]+') >>> p.findall(s) ['Hello', "It's good to meet you", 'My name is Bob'] >>> s = "Hello. #It's good to meet you # .'" >>> p.findall(s) ['Hello', "#It's good to meet you # "] 

Puedes usar esta división

 re.split(r"(? 

Mía:

 re.findall('(?=\S)[^.\n]+(?<=\S)',su)