Quero usar a entrada de um usuário como um padrão de expressão regular para uma pesquisa sobre algum texto. Funciona, mas como posso lidar com casos em que o usuário coloca caracteres que têm significado no regex? Por exemplo, o usuário deseja procurar o Word (s)
: o mecanismo de expressão regular assumirá o (s)
grupo. Eu quero tratá-lo como uma corda "(s)"
. Posso executar replace
a entrada do usuário e substituir o (
com \(
e o )
com, \)
mas o problema é que precisarei substituir todos os possíveis símbolos regex. Você conhece alguma maneira melhor?
repl
argumento parare.sub
é uma string, não uma regex; aplicarre.escape
a ele não faz sentido em primeiro lugar.