Pergunta

É possível fazer negação corda em expressões regulares? Eu preciso corresponder a todas as strings que não contêm a ".." string. Eu sei que você pode usar ^[^\.]*$ para corresponder a todas as strings que não contêm "." mas eu preciso para combinar mais de um personagem. Eu sei que eu poderia simplesmente encontrar uma string contendo ".." e depois negar o valor de retorno do jogo para atingir o mesmo resultado, mas eu só queria saber se era possível.

Foi útil?

Solução

Você pode usar lookaheads negativos:

^(?!.*\.\.).*$

Isso faz com que a expressão não corresponder se pode encontrar uma seqüência de dois períodos em qualquer lugar do string.

Outras dicas

^(?:(?!\.\.).)*$

só irá corresponder se não houver dois pontos consecutivos em qualquer lugar do string.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top