2012-07-02 9 views
29

tratando de escribir una expresión regular que se pueden encontrar todos los patronespitón de expresiones regulares primera/partido más corto

p = "q=http://.*\.doc" in 

text = "q=http://11111.doc,q=http://22222.doc" 

cuando lo hice finall en el texto,

me sale todo el asunto, es decir q=http://11111.doc,q=http://22222.doc

pero no q=http://11111.doc y q=http://22222.doc

¿cómo puedo arreglarlo?

Respuesta

61

Eso es porque * es un cuantificador codicioso, tratando de hacer coincidir todo lo que pueda. Que sea *?:

q=http://.*?\.doc 

Más información se puede encontrar en el COMO expresión regular: Greedy versus Non-greedy

Cuestiones relacionadas