Hacer coincidir cadenas con re.match no funciona

Deesta enlace utilicé el siguiente código:

my_other_string = 'the_boat_has_sunk'
my_list = ['car', 'boat', 'truck']
my_list = re.compile(r'\b(?:%s)\b' % '|'.join(my_list))
if re.search(my_list, my_other_string):
    print('yay')

Sin embargo no funciona. Intenté imprimirmy_list despuésre.compile e imprime esto:

re.compile('\\b(?:car|boot|truck)\\b')

¿Qué estoy haciendo mal?

EDITAR:

No puedo dividir las palabras por_ porque no siempre sé qué tipo de cadena estará presente. Entonces, tiene que ser cierto si una de las palabras en la lista está en la cadena, no solo como una palabra separada.

EDIT2: Cambiado are.search.

Respuestas a la pregunta(2)

Su respuesta a la pregunta