Patrón de expresiones regulares de Javascript para que coincida con las teclas de función de F1-F12 usando la función de prueba de patrón
Intenté a continuación pero da falso como resultado, excepto que es verdadero
let text = "F11"; let pattern = /^[F][1-12]$/; let result = pattern.test(text); console.log(result);Esta expresión regular coincide con F1-F12: /^F[1-9](?:(?<=1)(?:0|1|2))?$/ :
let re = /^F[1-9](?:(?<=1)(?:0|1|2))?$/; for (var i = 0; i < 16; i++){ let text = `F${i}`; console.log(`${text}: ${re.test(text)}`); }Para desglosarlo:
^ coincide con el inicio de la entrada; solo coincidirá si es al principioF coincide con una 'F' literal[1-9] coincide con un carácter entre 1 y 9(?:(?<=1)(?:0|1|2)) es donde coincide con 11 y 12(?<=1)(?:0|1|2)) es una afirmación retrospectiva: solo coincidirá con la segunda parte si la primera es verdadera(?:0|1|2) coincide con el 0, 1 o 2 para el 10-12