Python Regex simple encontrar patrón

Tengo una frase Quiero encontrar todas las apariciones de una palabra que comiencen con un carácter específico en esa oración. Soy muy nuevo en progtwigción y Python, pero por lo poco que sé, esto parece una pregunta de Regex.

¿Cuál es el código de coincidencia de patrón que me permitirá encontrar todas las palabras que coincidan con mi patrón?

Muchas gracias de antemano,

Brock

import re print re.findall(r'\bv\w+', thesentence) 

imprimirá cada palabra en la oración que comience con 'v' , por ejemplo.

El uso del método de split de cadenas, como sugiere otra respuesta, no identificaría palabras , sino fragmentos separados por espacios que pueden incluir puntuación. Esta solución re identifica palabras (letras y dígitos, neto de puntuación).

Yo segundo la recomendación Dive Into Python. Pero es básicamente:

 m = re.findall(r'\bf.*?\b', 'a fast and friendly dog') print(m) 

\ b significa límite de palabra, y. *? asegura que almacenemos toda la palabra, pero retrocedemos para evitar ir demasiado lejos (técnicamente, se llama operador perezoso).

Podrías hacer (no usar re aunque):

 matching_words = [x for x in sentence.split() if x.startswith(CHAR_TO_FIND)] 

Las expresiones regulares también funcionan (vea las otras respuestas), pero creo que esta solución será un poco más legible, y como principiante que aprende Python, encontrará importantes listas de comprensión (como la solución anterior) para obtener un nivel de comodidad.

 >>> sentence="a quick brown fox for you" >>> pattern="fo" >>> for word in sentence.split(): ... if word.startswith(pattern): ... print word ... fox for 

Divida la oración en espacios, use un bucle para buscar el patrón e imprímalos.

 import re s = "Your sentence that contains the word ROAD" s = re.sub(r'\bROAD', 'RD.', s) print s 

Lea: http://diveintopython3.org/regular-expressions.html