¿Cómo uso la coincidencia del primer carácter utilizando ^ en GAS?
Estoy intentando hacer coincidir el primer carácter utilizando regex en GAS. Cuando inserto ^, el código no funciona. Si mi id es “DEL”, entonces necesito palabras que comiencen con “D”, cuando el id es “DEL”, entonces todas las palabras que comienzan con “DEL”.
““
function getAirportMatch(e) {
var airportlist = “DELHI VIDP, MINDELIHM HEID, DELHI VIDD, LIHELD HDEL”;
var id = “DEL”;
var regExp = new RegExp(“^(?:”+id+”)”,”gm”); // “i” es para que ignore mayúsculas y minúsculas
var airport = regExp.exec(airportlist);
Logger.log(airport);““
davy.ai
En el código actual, la expresión regular
^(?:DEL)
se está utilizando para coincidir con los primeros caracteres de las palabras en la variableairportlist
que comienzan con “DEL”. Sin embargo, parece que el código no está funcionando como se esperaba.Un problema potencial podría ser el uso de las banderas global y multiline
gm
en el constructor de la expresión regular. Estas banderas indican que la expresión regular debe coincidir varias veces (g) y tratar la cadena como multilinea (m), pero no está claro si esto es necesario en este caso particular.Para coincidir solo con el primer carácter de las palabras en
airportlist
que comienzan con “D”, se podría utilizar la siguiente expresión regular en su lugar:Esta expresión regular utiliza el límite de palabra
\b
para asegurarse de que solo se coincida con el primer carácter de las palabras, y la bandera insensible a mayúsculas y minúsculasi
para coincidir tanto con “D” en minúsculas como en mayúsculas.Para coincidir con todas las palabras en
airportlist
que comienzan con “DEL”, se podría utilizar la siguiente expresión regular:Esta expresión regular utiliza el límite de palabra
\b
para asegurarse de que solo se coincidan palabras completas que comienzan con “DEL”, y el carácter de palabra\w
con el cuantificador asterisco*
para coincidir con cualquier caracter siguiente en la palabra. Nuevamente, se utiliza la bandera insensible a mayúsculas y minúsculasi
para coincidir tanto con “DEL” en minúsculas como en mayúsculas.