Prática regular JavaScript (será atualizada continuamente com base na redação recente)
1. JavaScript Retrodução e uso regular de substituição de objetos: /padrão /sinalizadores primeiro aprendem um caso simples e entenda o que substituir
Construtor de expressão regular: novo regexp ("padrão" [, "sinalizadores"]);
Função variável de substituição de expressão regular: stringobj.Replace (regexp, substitua o texto);
Descrição do parâmetro:
padrão - um texto de expressão regular
Sinalizadores - Se presente, será o seguinte valor:
G: Match Global
I: ignore o caso
GI: a combinação acima
// O exemplo a seguir é usado para obter dois parâmetros do URL e retornar o Urlvar real antes do urlrewrite Reg = new REGEXP ("(http://www.qidian.com/bookreader/)(/d+) ,(/d+).aspx", "gmi"); var); url = "http://www.qidian.com/bookreader/1017141,20361055.aspx"; // Método 1, o método mais simples e mais usado var = url.replace (regulamento, "$ 1ShowBook.aspx? rep2 = url.replace (reg, function (m, p1, p2, p3) {return p1+"showbook.aspx? bookid ="+p3+"& capítulo ="+p3}); alert (rep2); // método 3, use a função de retorno de chamada com parâmetros não fixados: args [1]+"showbook.aspx? bookId ="+args [2]+"& Capítulo ="+args [3];}); alert (rep3); // o método 4 // o método 4 é muito semelhante ao método 3. Além de retornar a string substituída, você também pode obter o parâmetro var bookid; var capítulo; function CapText () {var args = argumentos; BookID = args [2]; Capítulo = args [3]; Retornar args [1]+"showbook.aspx? bookid ="+args [2]+"& Capítulo ="+args [3];} var rep4 = url.replace (reg, captext); alert (rep4); alert (bookId); alert (capítulo); // use o método de teste para obter a griping var3 = RegExp("(http://www.qidian.com/BookReader/)(//d+),(//d+).aspx","gmi");reg3.test("http://www.qidian.com/BookReader/1017141,20361055.aspx");//get three groups alert(RegExp.$1); alerta (regexp. $ 2); alerta (regexp. $ 3);2. O Exec de teste mais usado Pesquisa de correspondência de teste Substitua os métodos Split 6
1) Teste Verifique se a string especificada existe
var dados = “123123 ″;
var recat = /123 /gi;
alerta (recat.test (dados)); //verdadeiro
// Verifique se o personagem existe G continua a cair, eu é sensível ao maiúsculas de minúsculas
2) Exec retorna o valor da consulta
var data = "123123,213.12312,312,3, gato, gato, dsfsdfs";
var recat = /cat /i;
alerta (recat.exec (dados)); //Gato
3) Match recebe a variedade de consultas
var data = "123123,213.12312,312,3, gato, gato, dsfsdfs";
var recat = /cat /gi;
var Arrmactches = Data.match (RECAT)
for (var i = 0; i <arrmactches.length; i ++)
{
alerta (armactches [i]); // gato gato
}
4) Pesquisa Posição de pesquisa de retorno semelhante ao indexOf
var data = "123123,213.12312,312,3, gato, gato, dsfsdfs";
var recat = /cat /gi;
alerta (data.search (recat)); // 23
5) Substitua o caractere de substituição usando a substituição regular
var data = "123123,213.12312,312,3, gato, gato, dsfsdfs";
var recat = /cat /gi;
alerta (data.replace (recat, "libinqq"));
6) Divida usando a matriz de segmentação regular
var data = "123123,213.12312,312,3, gato, gato, dsfsdfs";
var recat = //,/;
var ArrData = data.split (RECAT);
for (var i = 0; i <arrdata.length; i ++)
{
alerta (arrdata [i]);
}
3. Coleção de expressões comumente usadas:
"^// D + $" // Inteiro não negativo (número inteiro positivo + 0)
"^[0-9]*[1-9] [0-9]*$" // Inteiro positivo
"^((-// d+) | (0+)) $" // não é positivo (número inteiro negativo+0)
"^-[0-9]*[1-9] [0-9]*$" // Inteiro negativo
"^-? // D+$" // Inteiro
"^// d+(//.// d+)? $" // Número de ponto flutuante não negativo (número de ponto flutuante positivo+0)
"^(([0-9]+//. [0-9]*[1-9] [0-9]*) | ([0-9]*[1-9] [0-9]*//. [0-9]+) | ([0-9]*[1-9] [0-9]*)) $"
// Número de ponto flutuante positivo
"^((-// d+(//.// d+)?) | (0+(//. 0+)?)) $" // Número de ponto flutuante não positivo (número de ponto flutuante negativo+0)
"^(-(([0-9]+//. [0-9]*[1-9] [0-9]*) | ([0-9]*[1-9] [0-9]*//. [0-9]+) | ([0-9]*[1-9] [0-9]*))) $"
// Número de ponto flutuante negativo
"^(-? // d+) (//.// d+)? $" // Número do ponto flutuante
"^[A-za-z]+$" // uma sequência composta por 26 cartas em inglês
"^[AZ]+$" // Uma string composta por 26 cartas em inglês
"^[AZ]+$" // Uma string composta de minúsculas de 26 cartas em inglês
"^[A-za-z0-9]+$" // uma string composta de números e 26 cartas em inglês
"^// w+$" // uma string composta de números, 26 cartas em inglês ou sublinhado
"^[// w-]+(//. [// w-]+)*@[// w-]+(//. [// w-]+)+$" // endereço de email
"^[a-za-z]+: // (// w+(-// w+)*) (//. (// w+(-// w+)*))*(//? // s*)? $" // url
"^[A-ZA-Z0-9 _]*$".
Noções básicas de expressões regulares
^ Corresponde a uma entrada ou o início de uma linha, /^ a / corresponde a "um a", mas não "um a"
$ corresponde ao fim de uma entrada ou linha, / a $ / corresponde a "um a", mas não "um a"
* Combine o Metacharacter anterior 0 ou mais vezes, / ba* / irá corresponder B, BA, BAA, BAA
+ Corresponder ao Metacharacter anterior 1 ou mais vezes, / ba+ / vai corresponder a BA, BAA, BAAA
? Combine o Metacharacter anterior 0 ou 1 tempo, / ba? / Vai corresponder b, ba, ba, ba,
(x) Match X salva x em uma variável chamada $ 1 ... $ 9
x | y corresponde x ou y
{n} correspondência exata n vezes
{n,} corresponde mais de n vezes
{n, m} corresponde às vezes
[xyz] conjunto de caracteres, correspondendo a qualquer personagem (ou metacaracter) neste conjunto
[^xyz] não corresponde a nenhum personagem nesta coleção
[/b] corresponde a um personagem backspace
/b corresponde ao limite de uma palavra
/B corresponde a uma palavra não-limite
/cx aqui, x é um caractere de controle, // cm/corresponde a Ctrl-M
/d corresponde a um personagem, // d/=/[0-9]/
/D corresponde a um caractere numérico não-palavras, // d/=/[^0-9]/
/n corresponde a um personagem de nova linha
/r corresponde a um personagem de retorno de carruagem
/s corresponde a um caractere de espaço em branco, incluindo/n,/r,/f,/t,/v, etc.
/S corresponde a um caractere não-branco igual a/[^/n/f/r/t/v]/
/t corresponde a um caractere de guia
/V corresponde a um caractere de guia Redirecion
/w corresponde a um personagem que pode formar uma palavra (alfanumérico, que é minha tradução, incluindo números), incluindo sublinhados, como [/w] corresponde 5 em "US $ 5,98", é igual a [a-za-z0-9]
/W corresponde a um caractere que não pode formar uma palavra, como [/w] corresponde a $ em "$ 5,98", que é igual a [^a-za-z0-9].