g significa coincidencia global
m significa que se pueden hacer coincidir varias líneas
I significa coincidencia que no distingue entre mayúsculas y minúsculas
^ coincide con el comienzo de la cadena de entrada
$ coincide con el final de la cadena de entrada
* Coincide con la subexpresión anterior cero o más veces. Equivalente a {0,}
+ Coincide con la subexpresión anterior una o más veces. Equivalente a {1,}
? Coincide con la subexpresión anterior cero o una vez. Equivalente a [0,1} cuando este carácter va seguido de cualquier otro calificador (*, +, ?, {n}, {n,}, {n, m}), la coincidencia. El patrón no es codicioso. El modo no codicioso coincide con la menor cantidad posible de la cadena buscada, mientras que el modo codicioso predeterminado coincide con la mayor cantidad posible de la cadena buscada. Por ejemplo, para la cadena "oooo", 'o+?' coincidirá con una sola "o", mientras que 'o+' coincidirá con todas las 'o'.
d coincide con un carácter numérico Equivalente a [0-9].
D coincide con un carácter no numérico Equivalente a [^0-9].
w , equivalente a "[A-Za-z0-9_]"
W coincide con cualquier carácter que no sea una palabra, equivalente a "[^A-Za-z0-9]"
s coincide con cualquier carácter de espacio en blanco, incluidos espacios, tabulaciones, cambios de formulario, etc. Equivalente a [fnrtv]
S coincide con cualquier carácter que no sea un espacio en blanco. Equivalente a [^frntv].
b coincide con el límite de una palabra, que es la posición entre una palabra y un espacio.
B coincide con límites que no son palabras.
(patrón) coincide con el patrón y obtiene la coincidencia. Las coincidencias obtenidas se pueden obtener de la colección Matches generada, utilizando la colección SubMatches en VBScript o las propiedades $0…$9 en JScript.
(?:patrón) coincide con el patrón pero no obtiene el resultado coincidente, lo que significa que se trata de una coincidencia sin adquisición y no se almacena para su uso posterior. Esto resulta útil cuando se utiliza el carácter "o" (|) para combinar partes de un patrón. Por ejemplo, 'industria(?:y|ies) es una expresión más corta que 'industria|industrias'.
(?=patrón) búsqueda directa, que coincide con la cadena de búsqueda al comienzo de cualquier patrón de coincidencia de cadena. Esta es una coincidencia sin recuperación, es decir, no es necesario recuperar la coincidencia para su uso posterior. Por ejemplo, 'Windows (?=95|98|NT|2000)' coincide con "Windows" en "Windows 2000", pero no con "Windows" en "Windows 3.1". La captación previa no consume caracteres, es decir, después de que se produce una coincidencia, la búsqueda de la siguiente coincidencia comienza inmediatamente después de la última coincidencia, en lugar de comenzar después del carácter que contiene la captación previa.
(?!patrón) La búsqueda anticipada negativa coincide con la cadena de búsqueda al principio de cualquier cadena que no coincida con el patrón. La búsqueda anticipada negativa coincide con la cadena de búsqueda en cualquier punto donde una cadena no coincida con el patrón. Esta es una coincidencia sin recuperación, es decir, no es necesario recuperar la coincidencia para su uso posterior. Por ejemplo, 'Windows (?!95|98|NT|2000)' puede coincidir con "Windows" en "Windows 3.1", pero no con "Windows" en "Windows 2000". La verificación previa no consume caracteres, es decir, después de que ocurre una coincidencia, la búsqueda de la siguiente coincidencia comienza inmediatamente después de la última coincidencia, en lugar de comenzar
a buscar de 2 a 4
códigos de programa
de caracteres chinos después de los caracteres que contienen la verificación previa.
/^[u4e00-u9fa5]{2,4}$/g;
códigos de programa
de caracteres de 6 a 18 (letras, números, guiones bajos)
/^w{6,18}$/;
código de programa
/^[A-Za-z0-9_]$/;
el código del programa
de etiqueta HTML
/<[^>]*>|</[^>]*>/gm;
código de programa
/</?[^>]+>/gm;
código del programa
de espacios izquierdo y derecho
/(^s*)|(s*$)/g;
Orden de prioridad (de mayor a menor)
carácter de escape
(),(?:),(?=),[] corchetes y corchetes
* , + , ? , {n} , {n,} , {n,m} calificador
^ , [vapor:contenido]nbsp; posición y orden
La operación "o"
códigos de programa
de palabras idénticos consecutivos
separados por espacios
/b([az]+) 1b/gim ;
En este ejemplo, la subexpresión es cada término entre paréntesis.
La expresión capturada consta de uno o más caracteres alfabéticos, según lo especificado en '[az]+'.
La segunda parte de la expresión regular es una referencia a la subcoincidencia capturada previamente, que es la segunda aparición de la palabra que coincide con la expresión adjunta.
'1' se utiliza para especificar la primera subcoincidencia. Los metacaracteres de límites de palabras garantizan que solo se detecten palabras individuales.
Si no se hiciera esto, frases como "se emite" o "esto es" serían incorrectamente reconocidas por la expresión.
código de programa
var ss = "¿Está aumentando el costo de la gasolina?. ¿Está aumentando el costo de la gasolina?";
var re = /b([az]+) 1b/gim;
var rv = ss.replace(re,"$1");
document.write(rv) //Salida "¿Está aumentando el costo de la gasolina?. ¿Está aumentando el costo de la gasolina?. "
código de programa
/bCha/
coincide con los primeros tres caracteres de la palabra 'Capítulo' porque aparecen después del límite de una palabra
código de programa
/terb/
coincide con 'ter' en la palabra 'Capítulo' porque aparece antes del límite de una palabra
código de programa
/Bapt/
coincide con 'apt' porque está en el medio del 'Capítulo', pero no coincide con 'apt' en 'aptitude' porque está después del límite de una palabra
*/
el código del programa
de dirección URL
/(w+)://([^/:]+)(:d*)?([^#]*)/
Descomponga el siguiente URI en protocolos (ftp, http, etc.), nombre de dominio dirección y página/ruta:
http://msdn.microsoft.com:80/scripting/default.htm
La primera subexpresión adicional se utiliza para capturar la parte del protocolo de la dirección web. Esta subexpresión coincide con cualquier palabra precedida por dos puntos y dos barras diagonales. La segunda subexpresión adicional captura la dirección de dominio de la dirección. Esta subexpresión coincide con cualquier secuencia de caracteres que no incluya los caracteres '^', '/' o ':'. La tercera subexpresión adicional captura el número de puerto del sitio web, si se especifica uno. Esta subexpresión coincide con cero o más números seguidos de dos puntos. Finalmente, la cuarta subexpresión adicional captura la ruta y/o la información de la página especificada por la dirección web. Esta subexpresión coincide con uno o más caracteres excepto '#' o espacios.
Cuando se aplica la expresión regular al URI que se muestra arriba, las subcoincidencias incluyen lo siguiente:
RegExp.$1 contiene "http"
RegExp.$2 contiene "msdn.microsoft.com"
RegExp.$3 contiene ":80"
RegExp.$4
Método1
quecontiene la
expresión regular "/scripting/default.htm".
El método de pruebadevuelve un valor booleano, que indica si el patrón existe en la cadena que se busca.
rgExp.test(str)
Las propiedades del objeto RegExp global no se modifican. el método de prueba.
ejemplo1
http://www.knowsky.com/
código de programa
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var bandera=reg.test(url);
bandera //devuelve verdadero
RegExp.$1 //Devuelve "http"
RegExp.$2 //Devuelve "msdn.microsoft.com"
RegExp.$3 //Devuelve ":80"
$egExp.$4 //Regresar "/scripting/default.html"
Ni los métodos de búsqueda ni de prueba pueden actualizar el objeto RegExp global, por lo que RegExp.input, RegExp.index y RegExp.lastIndex devuelven un valor indefinido
2. El método de coincidencia
utiliza un patrón de expresión regular para realizar una búsqueda en la cadena y devuelve el resultado que contiene la búsqueda como una matriz.
código de programa
cadenaObj.match(rgExp)
Si el método de coincidencia no encuentra una coincidencia, devuelve nulo. Si se encuentra una coincidencia, se devuelve una matriz y las propiedades del objeto RegExp global se actualizan para reflejar la coincidencia.
La matriz devuelta por el método de coincidencia tiene tres atributos: entrada, índice y último índice.
La propiedad Entrada contiene la cadena completa que se busca.
La propiedad Índice contiene la posición de la subcadena coincidente dentro de toda la cadena de búsqueda.
La propiedad LastIndex contiene la posición junto al último carácter de la última coincidencia.
Si no se establece la bandera global (g), el elemento 0 de la matriz contiene la coincidencia completa y los elementos del 1 al n contienen cualquier subcoincidencia que haya ocurrido en la coincidencia.
Esto es equivalente al método exec sin configurar el indicador global. Si la bandera global está configurada, los elementos 0 an contienen todas las coincidencias
ejemplo1 (la bandera global no está configurada)
código de programa
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var miArray=url.match(reg);
RegExp.$1 //Devuelve "http"
RegExp.$2 //Devuelve "msdn.microsoft.com"
RegExp.$3 //Devuelve ":80"
$egExp.$4 //Regresar "/scripting/default.html"
myArray //Regresar myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
miArray[1]="http",miArray[2]="msdn.microsoft.com",
miArray[3]=":80",myArray[4]="/scripting/default.html"
myArray.input //Regresar "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Devuelve 0
myArray.lastIndex //Regresar 51
ejemplo2 (conjunto de indicadores globales)
código de programa
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/g;
var miArray=url.match(reg);
RegExp.$1 //Devuelve "http"
RegExp.$2 //Devuelve "msdn.microsoft.com"
RegExp.$3 //Devuelve ":80"
$egExp.$4 //Regresar "/scripting/default.html"
myArray //Return myArray=" http://msdn.microsoft.com:80/scripting/default.html "
myArray.input //Regresar "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Devuelve 0
myArray.lastIndex //Regresar 51
Tenga en cuenta la diferencia después de configurar la bandera global
Si no se establece la bandera global (g), el elemento 0 de la matriz contiene la coincidencia completa y los elementos del 1 al n contienen cualquier subcoincidencia que haya ocurrido en la coincidencia.
Esto es equivalente al método exec sin configurar el indicador global. Si se establece la bandera global, los elementos 0 an contienen todas las coincidencias
3. El método exex
ejecuta una búsqueda en una cadena usando un patrón de expresión regular y devuelve una matriz que contiene los resultados de la búsqueda.
código de programa
rgExp.exec(cadena)
Si el método exec no encuentra una coincidencia, devuelve nulo.
Si encuentra una coincidencia, el método exec devuelve una matriz y las propiedades del objeto RegExp global se actualizan para reflejar la coincidencia.
El elemento 0 de la matriz contiene la coincidencia completa, mientras que los elementos del 1 al n contienen cualquier subcoincidencia que ocurra en la coincidencia.
Esto es equivalente al método de coincidencia sin establecer la bandera global (g).
Si el indicador global está configurado para la expresión regular, el ejecutivo comienza a buscar la posición indicada por el valor de lastIndex.
Si no se establece el indicador global, exec ignora el valor de lastIndex y busca desde el principio de la cadena.
La matriz devuelta por el método exec tiene tres atributos, a saber, entrada, índice y último índice.
La propiedad Entrada contiene la cadena completa que se busca.
El atributo Índice contiene la posición de la subcadena coincidente en toda la cadena buscada.
La propiedad LastIndex contiene la siguiente posición del último carácter de la coincidencia.
ejemplo1 (sin bandera global establecida)
código de programa
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=reg.exec(url);
RegExp.$1 //Devuelve "http"
RegExp.$2 //Devuelve "msdn.microsoft.com"
RegExp.$3 //Devuelve ":80"
$egExp.$4 //Regresar "/scripting/default.html"
myArray //Regresar myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
miArray[1]="http",miArray[2]="msdn.microsoft.com",
miArray[3]=":80",myArray[4]="/scripting/default.html"
myArray.input //Regresar "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Devuelve 0
myArray.lastIndex //Regresar 51
Cuando la bandera global (g) no está configurada, el método de coincidencia es el mismo que el método ejecutivo
ejemplo2 (establecer bandera global)
código de programa
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var myArray=reg.exec(url);
RegExp.$1 //Devuelve "http"
RegExp.$2 //Devuelve "msdn.microsoft.com"
RegExp.$3 //Devuelve ":80"
$egExp.$4 //Regresar "/scripting/default.html"
myArray //Regresar myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
miArray[1]="http",miArray[2]="msdn.microsoft.com",
miArray[3]=":80",myArray[4]="/scripting/default.html"
myArray.input //Regresar "http://msdn.microsoft.com:80/scripting/default.html"
myArray.index //Devuelve 0
myArray.lastIndex //Regresar 51
4 El método de búsqueda
devuelve la posición de la primera subcadena que coincide con el contenido de búsqueda de la expresión regular.
código de programa
cadenaOjb.search(rgExp)
El método de búsqueda indica si existe una coincidencia correspondiente.
Si se encuentra una coincidencia, el método de búsqueda devuelve un valor entero que indica el desplazamiento de la coincidencia desde el principio de la cadena.
Si no se encuentra ninguna coincidencia, se devuelve -1.
ejemplo1
código de programa
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var bandera=url.search(reg);
bandera //regresar 0
RegExp.$1 //Devuelve "http"
RegExp.$2 //Devuelve "msdn.microsoft.com"
RegExp.$3 //Devuelve ":80"
$egExp.$4 //Regresar "/scripting/default.html"
Ni los métodos de búsqueda ni de prueba pueden actualizar el objeto RegExp global, por lo que RegExp.input, RegExp.index y RegExp.lastIndex devuelven un valor indefinido.
5 El método de reemplazo
devuelve una copia de la cadena después del reemplazo del texto según la expresión regular y
puede actualizar el objeto RegExp global.