I'm trying to create a regexp that can find occurrences of / from a string however the following rules must be satisfied:
/is a separator between each string, e.g: /string1/string2/string3/- The
/is also a separator between regular expressions like /regexp1//regexp2//regexp3/
The goal is to find all occurrences of the separator / that satisfy such a condition

As a result, I would like to get the separators between the following phrases
string1string2string3/regexp1//regexp2//regexp3/string4
/string1/string2/string3//regexp1///regexp2///regexp3//string4/
Currently I prepared the following regexp, but unfortunately it doesn't work as I expect, because it doesn't handle when there are 2 regexps next to each other. Does anyone have any advice how to overcome such case?
((?<=\/)\/(?=\/)|(?<!\/)\/(?!\/)|(?<=\w)\/(?=\/)|(?<=\/)\/(?=\w)|\/$)
CodePudding user response:
You may use this regex with an alternation and grab capture group #1:
(?<=\/)(\/[^\/] \/|[^\/] )(?:\/|$)
RegEx Details:
(?<=\/): Assert that previous character is/(Start capture group #1\/: Match a/- [^/]
: Match 1 non-/` characters \/: Match a/|: OR[^\/]: Match 1 non-/characters
): End capture group #1(?:\/|$): Match a/or end position

