I am trying to write a regex. The condition is that it shouldn't start nor end with a forward slash (/).
^[^/].*[^/]$ is the one I have been trying with. This fails if the string has only one character. How should I get this corrected?
I am trying to write a regex. The condition is that it shouldn't start nor end with a forward slash (/).
^[^/].*[^/]$ is the one I have been trying with. This fails if the string has only one character. How should I get this corrected?
Match the first character, then have an optional group that matches 0+ characters, followed by a non-slash character, followed by the end of the string:
^[^/](?:.*[^/])?$
Split the pattern into 2 parts:
You can get something like following:
^[^/](.*[^/])?$
There's a far easier and simpler way to solve this than going with RegEx. So if you are willing, you could simply do:
char first = str.charAt(0);
char last = str.charAt(str.length() - 1);
if(first != '/' && last != '/') {
// str is valid.
}
Where str is the string to be checked.