This is my Javascript regex ^.*(?<!\/)$ that checks if the URL is not ending with (/) slash
detects: /play/popular
ok: /play/popular/
How can I detect if the URL is not ending with / and does not include ?id= ?
detects: play/popular
catch: play/popular/?id=448
debugger: https://regex101.com/r/sSDIic/2
>Solution :
One way is to extend the negative lookbehind to optionally add the id= followed by 1 or more digits.
^.*$(?<!\/(?:\?id=\d+)?)
It might be easier to rule out id= in the string using a negative lookahead, and match a non whitespace char at the end being not a /if it can not end on a space.
^(?!.*\?id=).*[^\s/]$
Note that .* also match spaces, to match only non whitespace characters you can use \S*