Skip to content

Instantly share code, notes, and snippets.

@airvzxf
Last active March 3, 2023 21:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save airvzxf/387f2f478cc495805e28362002cc8769 to your computer and use it in GitHub Desktop.
Save airvzxf/387f2f478cc495805e28362002cc8769 to your computer and use it in GitHub Desktop.
Match words in phrases. If the words is in the phrase returns true and print the phrase, otherwise it return false and print anything.
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
"""
Given a text, it detects a serie of words and return true if it finds some of these.
"""
def match_words(text: str, words: list) -> bool:
"""
Detect if the text contains the words from the first and second list.
>>> match_words("a b c d", ["z", "a", "m"])
True
>>> match_words("abcd", ["z", "a", "m"])
True
>>> match_words("ABCD", ["z", "a", "m"])
True
>>> match_words("abcd", ["Z", "A", "M"])
True
>>> match_words("abcd", ["z", "m"])
False
:rtype text: str
:param text: Some text or phrasse.
:rtype match_primary: list
:param words: Requested list of words which needs to match.
:rtype: bool
:return: True if it found the words form the match list.
"""
return any(word.lower() in text.lower() for word in words)
if __name__ == '__main__':
phrases = [
"Team buen dia y feliz viernes, Alguien que tenga un buen contador para hacer la devolucion de impuestos de infonavit. Muchas Gracias",
"Hola, buenos días, ¿alguien que haya cambiado su cuenta de banco donde depositan la nómina? Acabo de hacer el cambio en Workday, pero no sé si lo hice correctamente, ¿cómo sé que si quedó y en la siguiente nómina si me caerá a la nueva cuenta?",
"Hola buenos dias, alguien sabe que informacion o donde puedo consultar mi budget para lentes que nos da OoO ?",
"hola, buen día, saben si puedo poner a mis papás como beneficiarios en el seguro de gastos médicos?",
"Hola Buenas tardes!!! Alguien que me pudiera ayudar a ver el catálogo de lo que cubre la póliza de seguro dental con centauro? ya que entiendo hay varios catálogo pero específicamente en IBM que es lo que nos cubre?",
"Hola buen día, quien puede apoyarme en obtener una carta donde mencione que me encuentro trabajando en IBM?",
"buenos dias con quien me puedo acercar para revisar lo de Plan de Jubilación ? saludos",
"Holas buenas tardes disculpen alguien sabe con quién me tengo que comunicar para cambiar mi nómina de banco ?",
"hola que tal Alguien sabe donde puedo descargar mi póliza de seguro de auto vigente?",
"Hola Josue buen día, espero se encuentre muy bien, con migo puede ver su tema de remplazo de su tarjeta de vales si así lo desea",
"Alguien tiene las condiciones generales del seguro de Gastos Médicos Mayores (MetLife)?",
"Hola Buen día",
"Buenas tardes, para el seguro de Vista se utiliza la de poliza de METLIFE (SGMM) o es otra?",
"Hola alguien sabe como va el tema del seguro de vista? aplica para esposa e hijos? y como es?",
"Hola! Saben con qué ópticas se puede aplicar el seguro de visión para unos lentes de armazón en GDL?",
"""Buen día.
saben como reportar mi equipo laptop que dejo de funcionar, soy de monterrey
.saludos.,""",
"Que razón me dan de los días de vacaciones, porque no, se nos estan reflejando y no nos dan respuesta ?",
"Que razón me dan de los días de vacaciones, porque no, se nos estan reflejando y no nos dan respuesta ?",
"Hola, alguien sabe si dentro del SGMM también incluyen ginecólogxs?",
"Buen día, algún alergólogo que recomienden en CDMX?",
"Buen dia, alguien sabe si el gimnasio ya esta abierto?",
]
required_words = [
"LENTES",
"anteojos",
"devlyn",
]
for phrase in phrases:
if match_words(phrase, required_words):
print(f"Matched: {phrase}")
# Check the documentation test: `python -m doctest -v main.py`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment