Home > database >  Regex match for first ending
Regex match for first ending

Time:12-22

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

CodePudding user response:

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".

CodePudding user response:

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

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

  • Related