1. Métodos para definir expressões regulares
Existem duas maneiras de definir expressões regulares: definição de construtor e definição de quantidade direta de expressão regular. Por exemplo:
Copie o código da seguinte forma: var reg1 = novo regexp ('/d {5, 11}');
var Reg2 = // D {5, 12}/; // Definição por quantidade direta
Expressões regulares medem diretamente os caracteres
/o: NUL CARACTERS (/U0000)
/T: Tab Character (/U0009)
/n: personagem newline (/u000a)
/V: caractere vertical da guia (/u000b)
/f: alteração de página (/u000c)
/r: caractere de retorno de carruagem (/u000d)
/xnn: caractere latino especificado pelo número hexadecimal nn, por exemplo, /x0a é equivalente a /n
/uxxxx: caracteres unicode especificados pelo número hexadecimal xxxx, por exemplo /u0009 é equivalente a /t
/cx: caractere de controle ^x, por exemplo, /cj é equivalente à quebra de linha /n
Caracteres de âncora de expressão regular
^: Combine o início de uma string, em pesquisa multi-line, corresponda ao início de uma linha
$: Corresponda ao final de uma string, em pesquisa multi-line, corresponda ao final de uma linha
/b: Combine o limite de uma palavra.
/B: corresponda à posição dos limites não-palavras
(? = P): A afirmação de zero larga é necessária para corresponder a P, mas não para incluir os personagens que correspondem a P
(?!
Classes de personagens para expressões regulares
[...]: Qualquer personagem entre colchetes
[^...]: Qualquer personagem não entre colchetes
.: Qualquer personagem, exceto quebras de linha e outros terminadores de linha Unicode
/W: Qualquer palavra composta por caracteres ASCII, equivalente a [a-ZA-Z0-9]
/W: Qualquer palavra que não seja composta por caracteres ASCII é equivalente a [^a-Za-Z0-9]
/s: qualquer espaço em branco Unicode
/S: Qualquer caractere de espaço em branco não unicode, observe que /w e /s são diferentes
/D: qualquer número ASCII, equivalente a [0-9]
/D: Qualquer personagem, exceto o número ASCII, equivalente a [^0-9]
[/b]: Quantidade direta do backspace (caso especial)
Repita a sintaxe do caractere para expressões regulares
{n, m}: corresponda ao item anterior pelo menos n vezes, mas não mais do que M vezes
{n,}: corresponda ao item anterior n vezes ou mais vezes
{n}: corresponda ao item anterior n vezes
?: Combine o item anterior 0 ou 1, ou seja, o item anterior é opcional, equivalente a {0, 1}
+: Corresponda ao item 1 anterior ou mais vezes, equivalente a {1,}
*: Combine o item anterior 0 ou mais vezes, equivalente a {0,}
Seleção, agrupamento e caracteres de referência de expressões regulares
|: Selecione, correspondendo à subexpressão à esquerda ou à subexpressão à direita
(…): Combine vários itens em uma unidade, que pode ser modificada por símbolos como "*", "+", "?" usar
(?: ...): Combine apenas itens em uma unidade, mas não me lembro de personagens que combinam com o shuffle
/n: corresponde ao caractere que corresponde à primeira vez em que o Grupo Match. O agrupamento de formulários não é codificado
Modificador de expressão regular
I: Realize a correspondência insensível ao caso
G: Execute uma partida global, em resumo, encontre todas as partidas, em vez de parar depois de encontrar o primeiro
M: Padrão de correspondência multi-line, ^ corresponde ao início de uma linha e ao início de uma string, $ corresponde ao fim de uma linha e ao final de uma string
Método da string para correspondência de padrões
Search (): Seu argumento é uma expressão regular, retornando a posição inicial da primeira substring para corresponder a ele e retorna -1 se não houver substring correspondente. Se o parâmetro de pesquisa () não for uma expressão regular, ele será convertido primeiro em uma expressão regular através do construtor regexp, o search () não suporta a pesquisa global porque ignora o modificador g. como:
A cópia do código é a seguinte:
var s = "javascript" .search (/script/i);
Substitua (): É usado para executar a recuperação e a substituição. Receba dois parâmetros, o primeiro é a expressão regular e a segunda é a string a ser substituída. Se a expressão regular for definida, uma substituição global será realizada, caso contrário, apenas a primeira substring da correspondência será substituída. Se o primeiro argumento não for uma expressão regular, procure a string diretamente em vez de convertê -la em uma expressão regular. como:
Copie o código da seguinte forma: var s = "javascript" .replace (/java/gi, "script");
Match (): seu argumento é uma expressão regular. Se o modificador G estiver definido, a correspondência global será realizada. como:
Copie o código da seguinte forma: var d = '55 ff 33 hh 77 tt'.match (// d+/g);
Split (): Este método é usado para dividir a sequência que a chama em uma matriz composta por substringas. como:
Copie o código da seguinte forma: var d = '123,31,453.645'.split (', ');
var d = '21, 123, 44, 64, 67, 3'.split (// s*,/s*/); , "67", "3"]
2. Objeto regexp
Cada objeto regexp possui 5 propriedades. A fonte da propriedade é uma string somente leitura que contém texto de uma expressão regular. A propriedade Global é um valor booleano somente leitura para indicar se a expressão regular possui um modificador g. A propriedade Ignorecase é um valor booleano somente leitura para indicar se a expressão regular possui um modificador i. A propriedade multilina é um valor booleano somente leitura para indicar se a expressão regular tem um modificador m. A propriedade LastIndex é um número inteiro legível e gravável.
Existem dois métodos para o objeto regexp. O parâmetro EXEC () é uma sequência e sua função é semelhante ao MACK (). Se nenhuma correspondência é encontrada, retorne o NULL. Independentemente de a expressão regular ter modificador G, retornará a mesma matriz. Quando o objeto de expressão regular ExEC () possui um modificador G, ele define a propriedade LastIndex do objeto de expressão regular atual para a posição do caractere ao lado da substring correspondente. Quando a mesma expressão regular chama Exec () na segunda vez, ela começará a recuperar da sequência indicada pela propriedade LastIndex e, se o EXEC () não encontrar resultados correspondentes, ele redefine o LastIndex para 0. como:
A cópia do código é a seguinte: var p = /java /g;
var text = "JavaScript é mais divertido que Java!"
var r;
while ((r = p.exec (texto))! = null) {
console.log (r, 'lastIndex:' + p.LastIndex);
}
Outro método é o teste (). como:
A cópia do código é a seguinte: var p = /java /i;
p.test ('javascript');