Pergunta

O JavaScript Regex Standard Support Forcing Caso ao fazer uma pesquisa/substituição?

Geralmente estou ciente das opções u etc. para forçar o caso de um grupo de captura na parte de substituição de uma expressão regular. Não consigo descobrir como fazer isso em um JavaScript Regex. Eu não tenho acesso ao próprio código JavaScript Mas um programa que estou usando permite a entrada das cordas regex que ele passa para o próprio mecanismo Regex.

Foi útil?

Solução

Se eu entendo você corretamente, não.

Você não pode avaliar o JavaScript (para transformar correspondências em maiúsculas) a partir de um padrão Regex.

Só estou ciente de Str.Replace () para converter em maiúsculas.

Outras dicas

A correspondência de strings é feita usando expressões regulares. Substituição de cordas, no entanto, apenas se preocupa com a parte da corda do sujeito que você está substituindo (que ela é alimentada pela correspondência de expressão regular) e apenas a substituição direta da string com base no que você dá :

var subject = "This is a subject string";

// fails, case-sensitive match by default
subject.replace(/this/, "That"); 

// succeeds, case-insensitive expression using /i modifier, replaces the word "This" with the word "That"
subject.replace(/this/i, "That"); 

Agora, se você quiser capturar uma parte da string correspondente e usá -la para alterar o caso, também pode fazer isso usando grupos de expressão (parênteses em sua expressão):

var subject = "This is a subject string";
var matches = subject.match(/(subject) string/i);
if (matches.length > 0)
{
    // matches[0] is the entire match, or "subject string"
    // matches[1] is the first group match, or "subject"
    subject.replace(matches[1], matches[1].toUpperCase());
    // subject now reads "This is a SUBJECT string"
}

Em suma, fazendo uma combinação, você pode lidar com a sensibilidade da caixa, se desejar. Fazer uma substituição é tão simples quanto dizer qual sequência direta usar para substituição.

Expressões regulares de JavaScript são sensíveis ao caso por padrão e insensibilidade ao caso de suporte se for passado o /i bandeira.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top