[Resolvido] Expressão regular
Fala galera
Hoje é minha vez de pedir ajuda. Estou apanhando para montar uma expressão regular e não estou conseguindo.
Regra para o match
- Deve conter a string EN
- A string deve estar entre parênteses
- Na abertura de parênteses, deve haver um !
- A string pode estar em qualquer ponto dentro dos parênteses
- Caso exista a string EN fora dos parêntes, não deve casar
A string para casar com a RegEx pode ter os seguintes formatos, com as respectivas respostas esperadas:
@Test
public void testRegexToMatchContextToIgnoreFromString() {
String regex = "\\([^\\(].?[EN+].?\\)";
assertTrue("!(EN)CLIENTE".matches(regex));
assertTrue("!(EN,PR)CLIENTE".matches(regex));
assertTrue("!(PR,EN)CLIENTE".matches(regex));
assertFalse("!(PR)CLIENTE".matches(regex));
assertFalse("!(CO,PR)CLIENTE".matches(regex));
}
Tentei diversas formas, mas entendo pouco de RegEx, então acabei rodando e não chegando a lugar algum.
Alguém pode me ajudar?
Obrigado
Carlos Eduardo
Discussão (2)
Carregando comentários...