No passado, o JS raramente usava a expressão regular do JS.
Recentemente, encontrei algumas expressões regulares que precisam ser usadas e estudar a propósito
Existem dois métodos de definição de objetos de expressão regular ::
1. A primeira definição:
Novo regexp (padrão, atributos);
Entre eles, o padrão está o conteúdo de expressão da expressão, como se o acima mostrasse ABC
Atributos: G, correspondência global, não distingo entre pequena e minúscula caixa, M executa a correspondência multi -line, o maior uso de G e I
2. A segunda definição:/padrão/atributos.
Como: var reg = /abc /g;
Algumas regras expressas na expressão regular não são mais explicadas aqui, apenas a diferença entre executiva e correspondência:
1. Exec é um método de expressão regular, não um método de string.
Como a definição acima
var reg = novo regexp ("abc");
var str = "3ABC4, 5ABC6";
Reg.Exec (STR);
2. A correspondência é um método para a sequência executar regras de expressão regular. Seus parâmetros são expressão regular, como
var reg = novo regexp ("abc");
var str = "3ABC4, 5ABC6";
str.Match (por exemplo);
3. Exec e Return Match são matrizes;
Se a expressão regular executada pelo EXEC não tiver sub -expressão (conteúdo de pequenos colchetes, como/s*)/(/s*)/(/s*), se houver uma correspondência, retorne o primeiro conteúdo de string correspondente correspondente Conteúdo, existem apenas um elemento neste momento, se não for correspondido e retornado a NULL;
var reg = novo regexp ("abc");
var str = "3ABC4, 5ABC6";
alerta (reg.exec (str));
alerta (str.match (reg));
Executar o mesmo código, você descobrirá que o conteúdo dos dois é o mesmo: ABC,
4. Se o objeto de expressão regular for definido como correspondência global, como:
var reg = novo regexp ("abc", "g");
var str = "3ABC4, 5ABC6";
alerta (reg.exec (str));
alerta (str.match (reg));
Para ABC e ABC, ABC;
5. Quando isso significa que a sub -expressão está contida em:
var reg = novo regexp ("a (bc)");
var str = "3ABC4, 5ABC6";
alerta (reg.exec (str));
alerta (str.match (reg));
Você descobrirá que os resultados dos dois executivos são: ABC, BC;
6. Quando o objeto de expressão regular é definido como uma correspondência global
var reg = novo regexp ("a (bc)", "g");
var str = "3ABC4, 5ABC6";
alerta (reg.exec (str));
alerta (str.match (reg));
O resultado dos dois retornados é ABC, BC e ABC, ABC,
Resumo como:
1. Quando a expressão regular não tem sub -expressão e é definida como correspondência não global, os resultados do executivo e da correspondência são os mesmos e o primeiro conteúdo de string correspondente é retornado;
2. Quando a expressão regular não tem sub -expressão e é definida como a correspondência global, executiva e execução de correspondência, e há vários conteúdos correspondentes, então a correspondência retorna várias matrizes elementares;
3. Quando a expressão regular é representada e é definida como uma correspondência não em escala de escala, os resultados da execução do EXEC e da correspondência são os mesmos que acima;
4. Quando a expressão regular é representada e definida como uma correspondência global, os resultados do EXEC e da correspondência são diferentes. , acima de 6º, 6, 6, 6, 6, 6, 6º.
Ou seja, se o EXEC é definido pela situação geral não está relacionado e a correspondência está associada à situação geral.