Preciso criar um regex
que impeça comentários com duas barras caso o mesmo esteja entre duas aspas fecha duas aspas assim:
Exemplo:
// este comentário é aceito.
" // este comentário não é aceito"
Quero que não aceite frases ao ter duas barras dentro de aspas duplas Já tentei de tudo assim:
(//.*$)([^\"][^\" ]*[\w][^ \"])
ou assim:((//.*[\w]*[\w ]+[^\"])(\s))
Mas eu não sei de jeito nenhum criar uma expressão desse tipo.
Observação.: É para a linguagem C#
então alguns regex
que criei ocorria estes bugs:
“// este comentário não é aceito pois aspas estar perto da barra duplas” - Normal
" // este comentário é aceito pois aspas estar longe da barra - BUG"
"dhsakjhjk // " - Este comentário não é aceito pois barra estar perto de aspas - Normal
"dsjhadksa // " dkjhsadhsa - Este comentário é aceito pois há caracteres depois de fechar aspas, o que faz a barra agir como comentário. - BUG
1 curtida
Ajuda plis, estou em desespero.
Não consigo criar um RE que apenas aceite comentário que não esteja dentro de aspas duplas.
Ex.: " // não é aceito "
// é aceito
Sim, mas ele não impede de ter comentário dentro de aspas assim: "//comentário"
Tentei esse, mas não estou conseguindo fazer direito
[^\"]+(\/\/)(.*?)+[^\"]
1 curtida
Alguém tem uma solução pra esse problema ?
O regex que postei, testa se o comentário está entre aspas. Quando você for implementar, ao fazer o match, será retornado true caso o comentário esteja entre aspas. Com isso, você faz a tratativa falando que não é possível, por exemplo.
É que ele falha se houver espaço(s) entre a primeira aspa ’ " ’ e as barras ’ // '.
Lucastody, eu já tentei das maneiras possíveis, mas nunca consigo fazer isso.
Olha esse regex é para um editor de texto de sintaxe, tipo o notepad++ , em que você consegue identificar aspas e barras como sendo um domina o outro, tipo: // comentário " teste "
- barra dupla consegue colorir tudo que estiver no começo da barra até o fim da linha." usando aspas // comentário "
- a aspa consegue colorir tudo que estiver entre aspas, inclusive as barras duplas e anular o efeito da barra duplas, que é de colorir uma linha inteira.
O regex que fiz tem esse bug, não um bug exatamente porq é uma falha minha, mas o regex que fiz as aspa colori tudo que estiver dentro dele inclusive as barras e o que estiver depois, porém o efeito da barra // de colorir uma linha fica ativo, fazendo com que tudo que estiver depois das aspas ficarem coloridas.
Não consigo pensar em uma solução para criar um regex em que barra dupla colori uma linha exceto se estiver dentro de aspas duplas. Porém falhas como espaços ou caracteres antes da barra como esse aqui:" (caractere) // comentário "
faz com que a aspa não anule o efeito da barra, então a barra permanece colorindo toda a linha mesmo estando entre aspas.
Preciso muito de ajuda para essa solução. Isso é para um trabalho da faculdade em que se bem feito e elaborado poderei usar como TCC, já que envolve muito mais do que aprenderei na faculdade.
Desde já agradeço sua ajuda Lucastody 
Obs.: Eu preciso negar comentários de duas barras // se estiver dentro de aspas e aceitar se não estiverem dentro de aspas