/ / Encontrar caractere inicial (es) e caracteres especiais em uma string - regex, string

Encontre caractere inicial (s) e caracteres especiais em uma string - regex, string

Eu sou novo no RegEx e preciso criar um RegEx que encontre caractere (s) correspondente (s) em uma String.

As seqüências possíveis que eu poderia conseguir são:

DFG-2344KG
4GGRTE/345
9TTRRE-547
7TTRRE-547
T89FGFGD+9

Então, o que eu quero é um RegEx que irá verificar se a string começa com DFG ou 4 ou 7 ou T E só tem "-"para caracteres especiais que não sejam alfanuméricos.

Então, da lista de strings acima, somente 9TTRRE-547 será uma string válida.

Eu estou procurando um RegEx que pode fazer isso por mim. Até agora eu cheguei com:

^ (DFG | T | 4 | 7)

O RegEx acima encontra corretamente o (s) caractere (s) inicial (is) inválido (s). Agora o desafio é encontrar um caractere especial diferente de "-" que pode acontecer em qualquer lugar da string.

Alguma sugestão?

Respostas:

1 para resposta № 1

Eu tentaria com:

^(DFG|4|7|T)[A-Z0-9-]+$

É exatamente o que você tem até agora junto com [A-Z0-9-]+ para indicar: "qualquer caractere alfanumérico ou -. Dizendo + Queremos dizer que isso ocorre uma ou várias vezes.

Então, $ para indicar o fim da linha.

Você pode ver isso funcionando https://regex101.com/r/mX5kV8/1 com estes jogos:

DFG-2344KG
7TTRRE-547
7TTRRE547