2016-04-15 4 views
0

Hier ist mein regex: (<ImageContainer)([\s\S]+)([\s\S]+)(<\/ImageContainer>)Wie Regex begrenzen von mehr als einen Ausdruck erregenden

Hier einiger Text ist ich Grabbing:

<ImageContainer>some stuff here...<\ImageContainer>more stuff here..<ImageContainer>and even more stuff</ImageContainer>... 

Mein Regex des ganzen Text ist grabbing und ich möchte nur es von <ImageContainer> zu </ImageContainer> greifen. Was vermisse ich?

+0

Wollen Sie diese * einige Sachen hier bekommen ... s *? – Shafizadeh

+0

sein beliebiger Text. Ich nahm es heraus, weil es sich um kundenspezifische Informationen handelte. – user1015214

Antwort

2

einfach, use a lazy quantifier:

<ImageContainer>(.*?)<\/ImageContainer> 

die Sequenz .*? wird nur ein Zeichen in einer Zeit essen, dann versuchen, den Rest des Muster übereinstimmen zu lassen. Vergleichen Sie dies mit regulären gierigen .*, die sofort an das Ende der Zeichenfolge rasen werden, und dann zurück zu versuchen, und lassen Sie den Rest des Musters übereinstimmen.

+0

Danke für die Erklärung! – user1015214

Verwandte Themen