
Digamos que eu tenha uma expressão regex utilizando alguns dos caracteres especiais, mas também uma parte com texto 'normal' que por acaso contém alguns símbolos. Digamos também que estou com preguiça de começar a escapar de cada "possível ser "caractere especial na parte do 'texto normal'.
Como posso incluir o bit de texto 'normal' para que o Regex não comece a ter um ataque quando achar que encontrou um caractere especial (quando na verdade não o fez)?
Por exemplo, digamos que eu pesquise o texto:
.*Hello it's true that ([6*.5]^2=9)
.
Certamente não quero usar laboriosamente o caractere de escape cada vez que qualquer um dos caracteres especiais aparecer nessa seção de matemática (ou o apóstrofo em "não"). Por outro lado, quero tratar o .*
bit no início como caracteres especiais.
Posso incluir a Hello it's true that ([6*.5]^2=9)
seção para que o Regex a trate como texto normal e não especial?
Estou usando o Notepad ++ para localizar e substituir, mas espero que qualquer resposta seja a mesma, não importa qual seja o programa.
Responder1
Algumas ferramentas permitem alterar se os caracteres especiais devem ter escape por padrão. Por exemplo, vi
(e clones) tem um magic
modo que controla isso. Isso pode permitir que você reduza a quantidade de fuga necessária.
Responder2
Tente \Q
começar com um literal e terminar com \E
.
Isso funciona com muitos tipos de Regex, embora Java possa ter problemas, por exemplo.
Informações obtidas de:http://www.regular-expressions.info/characters.html