I need to select a range within a string up until the third /
is present.
I currently have ^([^/]*/[^/]*/[^/]*/
but this will only work when there is more than 3 /
in the string. Ideally I’d need to select all characters up until a third /
, and select all if there is no third /
If anyone can think of a way around this that would be great.
Thanks!
Advertisement
Answer
To match substring starting from 3rd occurrence of /
where there may be less than 3 /
s you may use this regex using range quantifier:
^(?:[^/]*/){0,3}
How it works:
^
We start at beginning of a line- We are using a greedy quantifier
{0,3}
to match preceding group 0 to 3 times - Inside the group we are matching 0 or more of any characters that are not
/
followed by a/