1. Expresiones regulares en cuerdas
Use expresiones regulares para buscar, extraer, segmento, reemplazar y otras operaciones en cadenas. Los siguientes métodos especiales se proporcionan en la clase de cadena:
coincidencias booleanas (cadena regex): determina si la cadena coincide con la expresión regular especificada.
String ReplaceAll (String regex, reemplazo de cadena): reemplace todas las sustras que coinciden con regex en esta cadena con reemplazo.
String [] Split (String Regex): use Regex como el separador para dividir la cadena en múltiples sustros.
Todos los métodos especiales anteriores se basan en expresiones regulares proporcionadas por Java.
2. Crea expresiones regulares
X: el carácter X (x puede representar cualquier carácter legal);
/0mnn: el carácter representado por el número octal omnn;
/xhh: el personaje representado por hexadecimal 0xhh;
/uhhhh: personaje unicode representado por hexadecimal 0xhhhh;
/t: tab ('/u0009');
/N: NUEVA LÍNEA (LINE NEWLINE) CARÁCTER ('/U000A');
/r: carácter de retorno de carro ('/u000d');
/f: break de página ('/u000c');
/A: símbolo de alarma (campana) ('/u0007');
/e: carácter de escape ('/u001b');
/CX: el controlador correspondiente a x. Por ejemplo, /cm coincide con Ctrl-M. El valor x debe ser uno de a ~ z o a ~ z;
3. Caracteres especiales en expresiones regulares
$: Haga coincidir el final de una línea. Para que coincida con el personaje $ en sí, use /$;
^: Coincide con el comienzo de una línea. Para que coincida con el ^ personaje en sí, use / ^;
(): Marque las posiciones de inicio y final de la subexpresión. Para que coincida con estos caracteres, use /(y /);
[]: Se usa para determinar las posiciones de inicio y final de las expresiones de soporte. Para que coincida con estos caracteres, use /[y /];
{}: Se usa para marcar la frecuencia de la subexpresión anterior. Para que coincida con estos caracteres, use /{y /};
*: Especifica que la subexpresión anterior puede ocurrir cero o más veces. Para que coincida con el * personaje en sí, use / *;
+: Especifica que la subexpresión anterior puede ocurrir una vez o más veces. Para que coincida con el personaje + en sí, use / +;
?: Especifica que la subexpresión anterior puede ocurrir cero o una vez. Para que coincida con el personaje en sí, use /?;
.: Haga coincidir cualquier carácter de la unidad excepto el descanso de línea/n. Para que coincida, el personaje en sí, use /.;
/: Se usa para escapar del siguiente personaje, o especificar caracteres octales o hexadecimales. Para que coincida /personaje, use //;
|: Especifique cualquiera de los dos elementos. Para que coincida con el personaje en sí, use /|;
4. Personajes predefinidos
.: Puede coincidir con cualquier personaje;
/D: Haga coincidir todos los números de 0 ~ 9;
/D: Match no números;
/S: Haga coincidir todos los personajes de espacios en blanco, incluidos espacios, pestañas, retorno de carro, saltos de página, saltos de línea, etc.;
/S: Haga coincidir con todos los personajes que no son de Whitespace;
/W: Haga coincidir todos los caracteres de palabras, incluidos todos los números de 0 ~ 9, 26 letras y subrayos en inglés (_);
/W: coincidir con todos los personajes que no son palabras;
5. Personajes coincidentes de límites
^: El comienzo de la línea
$: El final de la línea
/B: límites de palabras
/B: límite de no palabras
/A: el comienzo de la entrada
/G: el final del partido anterior
/Z: el final de la entrada, solo para el último carácter final
/z: el final de la entrada
6. Símbolos que representan el número de partidos
La siguiente figura muestra símbolos que representan el número de coincidencias, que se utilizan para determinar el número de veces que el símbolo aparece al lado de la izquierda del símbolo:
(1) Supongamos que queremos buscar el número de Seguro Social de los Estados Unidos en un archivo de texto. El formato de este número es 999-99-9999. La expresión regular utilizada para igualar se muestra en la Figura 1. En expresiones regulares, el guión ("-") tiene un significado especial, que representa un rango, como de 0 a 9. Por lo tanto, al igualar un guión en un número de seguro social, debe ser precedido por un carácter de escape "/".
(2) Supongamos que al buscar, espera que el guión pueda aparecer o no, es decir, 999-99-9999 y 9999999999999 están en el formato correcto. En este momento, puedes agregar el "?" símbolo de calificación de cantidad después del guión, como se muestra en la figura:
(3) Echemos un vistazo a otro ejemplo a continuación. Un formato para las placas de automóviles estadounidenses es de cuatro números más dos letras. Su expresión regular está precedida por la parte número "[0-9] {4}" y la parte de la letra "[AZ] {2}". La siguiente figura muestra la expresión regular completa.
7. Algunos ejemplos 1
function reemplazar (content) {var reg = '// [(// w+) //]', patrón = new Regexp (reg, 'g'); return content.replace (patrón, '<img src = "img/$ 1.png">');} // o function reemplazar (content) {return content.replace (// [(/w+) // g, '<img src = "img/$ 1.png">');}Ejemplo 2
// Mira de ancho cero detrás de la solución alternativa // (? <= ...) y (? <! ...) // Método 1: Invertir la cadena, buscar con LookAhead, reemplazarla y luego volver a revolotarse, por ejemplo: String.Prototype.Reverse = function () {return this.split (''). Reverse (). Join ('');} // simulate 'foo.bar | baz'.replace (/(? <=/.) b/,' c ') reemplazar inmediatamente b con'. ' delante de él con c'foo.bar | baz'.reverse (). reemplazar (/b (? =/.)/g, 'c'). inverso () //foo.car|baz//method 2: no use la afirmación de ancho cero, juzgar por usted mismo // simule 'foo.bar | baz'.replace (/(? </.) in front to c'foo.bar|baz'.replace(/(/.)?b/, function ($0, $1) { return $1 ? $1 + 'c' : $0; }) //foo.car|baz//Simulate 'foo.bar|baz'.replace(/(?<!/.)b/, 'c') Change the b with '.Bar | baz'.replace (/(/.)? B/, function ($ 0, $ 1) {return $ 1? $ 0:' c ';}) //foo.bar|caz///Tos método es útil en algunos escenarios relativamente simples y se puede usar con LookAhead // Sin embargo, hay muchos escenarios que no están válidos, como: como: //'tttt'.replace(/(?<=t)t/g, 'x') El resultado debe ser 'txxx''tttt'.replace (/(t)? t/g, función ($ 0, $ 1) {return $ 1? $ 1 +' x ': $ 0;}) // txtxEjemplo 3
Uso de $ y símbolo
función escapereGexp (str) {return str.replace (/[abc]/g, "($ &)");} var str = 'a12b34c'; console.log (escapeGexp (str)); // (a) 12 (b) 34 (c)