Pequeños consejos habituales:
Expresión regular: modificadores
gramo | global - emparejar globalmente |
Expresiones regulares: metacaracteres
^ | Coincide con el comienzo de la cadena de entrada. |
* | Coincide con la subexpresión anterior cero o más veces. |
ps | Coincide con el final de la cadena de entrada. |
\s | Coincide con cualquier carácter de espacio en blanco, incluidos espacios, tabulaciones, avances de formulario, etc. |
+ | Coincide con la subexpresión anterior una o más veces. |
Regex: precedencia de operadores
Las expresiones regulares se calculan de izquierda a derecha, las que tienen la misma prioridad se calculan de izquierda a derecha y las que tienen diferentes prioridades se calculan primero y luego las bajas. La siguiente tabla ilustra el orden de precedencia de los distintos operadores de expresiones regulares, de mayor a menor:
\ | Escapadas |
(), (?:), (?=), [] | paréntesis y corchetes |
*, +, ?, {n}, {n,}, {n,m} | Calificatorio |
^, $, \ cualquier metacarácter, cualquier carácter | Anclajes y secuencias (es decir, posición y orden) |
| | Los caracteres del operador de sustitución "o" tienen mayor prioridad que los operadores de sustitución, de modo que "m|comida" coincide con "m" o "comida". Para hacer coincidir "estado de ánimo" o "comida", utilice paréntesis para crear una subexpresión, lo que dará como resultado "(m|f)ood". |
Para eliminar espacios:
function deleSpac(str,direction) { // 1 串的模板 2 清除哪边空格
let Reg = '';
switch(direction) {
case 'left' : // 去除左边
Reg = /^[\s]+/g;
break;
case 'right' : // 去除右边
Reg = /([\s]*)$/g;
break;
case 'both' : // 去除两边
Reg = /(^\s*)|(\s*$)/g
break;
default : // 没传默认全部,且为下去除中间空格做铺垫
Reg = /[\s]+/g;
break;
}
let newStr = str.replace(Reg,'');
if ( direction == 'middle' ){
let RegLeft = str.match(/(^\s*)/g)[0]; // 保存右边空格
let RegRight = str.match(/(\s*$)/g)[0]; // 保存左边空格
newStr = RegLeft + newStr + RegRight; // 将空格加给清完全部空格后的字符串
}
return newStr;
}
Método de ejecución:
let str=' asdn owi w '
console.log(deleSpac(str,'left')); //左
console.log(deleSpac(str,'right')); //右
console.log(deleSpac(str,'both')); //两边
console.log(deleSpac(str,)); //全部
console.log(deleSpac(str,'middle')); //中间
Salida de consola: