Existe algum método da especificação JavaScript para escapar cadeias de caracteres e usá-las em expressões regulares?

Gostaria, por exemplo, de a partir da cadeia "(.)" criar a expressão regular /\(\.\)/.

Add Done

    Please sign in to answer question.

    1
    Henrique Martins

    http://umamao.com/questions/Existe-algum-m%C...rs/4ce29cec79de4f4e01001045

    over 1 year ago Helder Ribeiro said:

    A questão não é bem essa. Criar expressões regulares a partir de strings é simples. É o que o interpretador faz quando vê algo entre "//": ele pega a string que está no meio e a transforma em uma expressão regular. Em Ruby, inclusive, você pode fazer r = Regexp.new('(.+)'), e isso é equivalente a r = /(.+)/. Os caracteres que têm significado especial em expressões regulares continuam tendo significado especial. Quando você não quer que isso aconteça (em especial, quando a string vem do usuário, não de um literal em código), você usa Regexp.escape('(.+)'), que retorna a string "\(\.\+\)". A pergunta é se existe uma função que faça o mesmo em JavaScript.

    over 1 year ago Henrique Martins said:

    Ah, agora eu entendi a pergunta, mas infelizmente nao existe um metodo. Dei uma pesquisada e encontrei algumas implementações. Eu não testei a função abaixo, se vc testar me diz se funciona! :)

    RegExp.escape = function(str) {

      var specials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g"); // .*+?|()[]{}\
                                          return str.replace(specials, "\\$&");
                                        

    }

    Search results:
    Existe algum método da especificação JavaScript para escapar ...

    umamao.com/questions/Existe-algum-método-da-especificação-JavaScript-para-escapar...

    Existe algum método da especificação JavaScript para escapar cadeias de caracteres e usá-las em expressões regulares?

    Qual é a diferença entre 'null' e 'undefined' em JavaScript ...

    umamao.com/questions/qual-e-a-diferenca-entre-null-e-undefined-em-javascript

    Existe algum método da especificação JavaScript para escapar cadeias de caracteres e usá-las em expressões regulares? Como abrir um endereço em outra aba/janela usando ...

    mirror.informatik.uni-mannheim.de

    mirror.informatik.uni-mannheim.de/ubuntu/dists/hardy-proposed/universe/i18n/...

    ... na forma de expressões regulares. Ela é similar à ferramenta lex ou flex para C/C++. ... Anthy é um método de entrada para japonês ... buffer e cache) e da área de troca ("swap") em ...

    debian.securedservers.com

    debian.securedservers.com/debian/dists/oldstable/main/i18n/Translation-pt_BR

    ... de Interface), que é uma especificação para ... escapar da ... é uma plataforma de método de entrada (IM). Métodos de entrada são necessários para informar caracteres complexos em ...

    archive.ubuntu.com

    archive.ubuntu.com/ubuntu/dists/hardy/universe/i18n/Translation-pt_BR

    ... na forma de expressões regulares. Ela é similar à ferramenta lex ou flex para C/C++. ... Anthy é um método de entrada para japonês ... buffer e cache) e da área de troca ("swap") em ...

    Search results provided by Bing | Keep searching on Bing / Google