Eu tenho uma expressão regular da seguinte maneira:
^/[a-z0-9]+$
Isso corresponde a strings como /hello
ou /hello123
.
No entanto, gostaria de excluir alguns valores de sequência, como /ignoreme
e /ignoreme2
.
Eu tentei algumas variantes, mas não consigo fazer funcionar!
Minha última tentativa fraca foi
^/(((?!ignoreme)|(?!ignoreme2))[a-z0-9])+$
Qualquer ajuda seria apreciadas :-)
Respostas:
Aqui está outra maneira (usando uma visão negativa ):
Nota: Há apenas uma expressão de captura:
([a-z0-9]+)
.fonte
(\?(.+))?$
deve ser rápido. Eu não me preocuparia muito com velocidade.java.util.regex.Pattern
classe do Java .Isso deve servir:
Você pode adicionar quantas palavras ignoradas quiser, aqui está uma implementação simples do PHP:
fonte
Como você deseja excluir as duas palavras, você precisa de uma conjunção:
Agora, ambas as condições devem ser verdadeiras (nem o ignoreme nem o ignoreme2 são permitidos) para ter uma correspondência.
fonte
/ignoremenot
como o/
é seguido porignoreme
.