JavaScript Práctica regular (se actualizará continuamente en función de la escritura reciente)
1.
Constructor de expresión regular: nuevo REGEXP ("Patrón" [, "Flags"]);
Función variable de reemplazo de expresión regular: stringObj.replace (regexp, reemplazar texto);
Descripción del parámetro:
Patrón: un texto de expresión regular
FLAGS - Si está presente, será el siguiente valor:
G: Partido global
I: Ignorar el caso
GI: la combinación anterior
// El siguiente ejemplo se utiliza para obtener dos parámetros de URL y devolver el URLVAR real antes de 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, el método más simple y más comúnmente utilizado var Rep = url.replace (reg, "$ 1showbook.aspx? Bookid = $ 2 & Capítulo = $ 3"); alerta); rep2 = url.replace (reg, function (m, p1, p2, p3) {return p1+"showbook.aspx? bookid ="+p3+"& capítulo ="+p3}); alerta (rep2); // método 3, use la función de devolución de llamada con parámetros no fijados var rep3 = url.Replaace (REG, function () {argumentos de retorno = argumentos de retorno = argumentos de devolución de llamada; Args [1]+"ShowBook.aspx? BookId ="+args [2]+"& chapchid ="+args [3];}); alerta (rep3); // El método 4 // El método 4 es muy similar al método 3. Además de devolver la cadena reemplazada, también puede obtener el parámetro var bookid; var chapchid; function captext () {var args = argumentos; bookID = args [2]; Capítulo = args [3]; return args [1]+"showbook.aspx? bookId ="+args [2]+"& chapchid ="+args [3];} var rep4 = url.replace (reg, captext); alerta (rep4); alerta (bookid); alerta (capiten); // use el método de prueba para obtener la agrupación var reg3 = nueva nueva nueva = nueva nueva Regexp ("(http://www.qidian.com/bookreader/)(//d+),(//d+)). alerta (regexp. $ 2); alerta (regexp. $ 3);2. La búsqueda de ejecución de prueba de prueba más utilizada reemplazar los métodos de división 6
1) Probar verificar si existe la cadena especificada
var data = "123123";
var recat = /123 /gi;
alerta (recat.test (datos)); //verdadero
// Compruebe si el personaje existe G continúa bajando, es sensible a los casos
2) EXEC Devuelve el valor de consulta
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /i;
alerta (recat.exec (data)); //Gato
3) El partido obtiene la matriz de consultas
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /gi;
var arrmactches = data.match (recat)
para (var i = 0; i <arrmactches.length; i ++)
{
alerta (arrmactches [i]); // gato gato
}
4) Posición de búsqueda de retorno de búsqueda similar a índicef
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /gi;
alerta (data.search (recat)); // 23
5) Reemplace el carácter de reemplazo con reemplazo regular
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /gi;
alerta (data.replace (recat, "libinqq"));
6) dividirse usando una matriz de segmentación regular
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = //,/;
var arrdata = data.split (recat);
para (var i = 0; i <arrdata.length; i ++)
{
alerta (arrdata [i]);
}
3. Colección de expresiones de uso común:
"^// d + $" // Integer no negativo (entero positivo + 0)
"^[0-9]*[1-9] [0-9]*$" // entero positivo
"^(((-// d+) | (0+)) $" // No positivo entero (número entero negativo+0)
"^-[0-9]*[1-9] [0-9]*$" // entero negativo
"^-? // d+$" // entero
"^// d+(//// d+)? $" // número de punto flotante no negativo (número de punto flotante 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 punto flotante positivo
"^(((-// d+(//// d+)?) | (0+(// 0+)?)) $" // número de punto flotante no positivo (número de punto flotante 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 punto flotante negativo
"^(-? // d+) (//// d+)? $" // número de punto flotante
"^[A-Za-Z]+$" // una cadena compuesta de 26 letras inglesas
"^[AZ]+$" // una cadena compuesta por 26 letras en inglés capitalización
"^[AZ]+$" // una cadena compuesta de minúsculas de 26 letras inglesas
"^[A-ZA-Z0-9]+$" // Una cadena compuesta de números y 26 letras inglesas
"^// w+$" // una cadena compuesta de números, 26 letras o subrayadores en inglés
"^[// w-]+(//. [// w-]+)*@[// w-]+(//. [// w-]+)+$" // dirección de correo electrónico
"^[A-Za-Z]+: // (// w+(-// w+)*) (//. (// w+(-// w+)*))*(//? // s*)? $" // url
"^[A-ZA-Z0-9 _]*$".
Conceptos básicos de expresiones regulares
^ Coincide con una entrada o el comienzo de una línea, /^ a / coincide "an a", pero no "an a"
$ coincide con el final de una entrada o línea, / a $ / coincide "an a", pero no "an a"
* Coincide con el metacharacter anterior 0 o más veces, / ba* / coincidirá con B, BA, BAA, BAA
+ Coincide con el metacharacter anterior 1 o más veces, / ba+ / coincidirá con BA, BAA, BAAA
? Coincidir con el metacharacter anterior 0 o 1 vez, / ba? / Match B, BA
(x) Match x ahorra x en una variable llamada $ 1 ... $ 9
x | y coincide x o y
{n} Match n times
{n,} coincidir más de n veces
{n, m} coincidir nm veces
[xyz] conjunto de caracteres, que coincide con cualquier personaje (o metacharacter) en este conjunto
[^xyz] no coincide con ningún personaje en esta colección
[/b] coincide con un personaje de Backspace
/b coincide con el límite de una palabra
/B coincide con la no límite de una palabra
/cx aquí, x es un personaje de control, // cm/coincide con Ctrl-m
/D coincide con un personaje, // d/=/[0-9]/
/D coincide con un carácter numérico no palabras, // d/=/[^0-9]/
/n coincide con un personaje de Newline
/r coincide con un personaje de retorno de carro
/s coincide con un carácter de espacio en blanco, que incluye/n,/r,/f,/t,/v, etc.
/S coincide con un personaje no whitespace igual a/[^/n/f/r/t/v]/
/t coincide con un personaje de pestaña
/V coincide con un personaje de pestaña de redirección
/W coincide con un personaje que puede formar una palabra (alfanumérica, que es mi traducción, incluidos los números), incluidos los subrayos, como [/w] coincide 5 en "$ 5.98", es igual a [A-ZA-Z0-9]
/W coincide con un carácter que no puede formar una palabra, como [/w] coincide con $ en "$ 5.98", que es igual a [^a-z-z0-9].