Purya
Purya

Reputation: 133

Regex match for first ending

I have a text like this sample. i want to match first "something" in my text. the "something" have any character in it, so i should use (.*) for it.

Sample: start: something, end ... blah blah ... start: something, end

I tried to match it like this: start: (.*) end

but as you can expect this see last end in my text.

https://www.debuggex.com/r/qfeBXsBybijWDWbp

Upvotes: 0

Views: 58

Answers (2)

Bharel
Bharel

Reputation: 26901

Use a non-greedy match: start: (.*?) end.

Keep in mind it won't match well if something has end inside it.

Upvotes: 1

M B
M B

Reputation: 3430

You just need to add a ? to your current regex:

start: (.*?) end

https://www.debuggex.com/r/1VmZTRx0EqgNyH4Y

This will tell the .* to match lazily until the word "end".

Upvotes: 1

Related Questions