Convertir rango de números legibles por humanos a Regex

Tengo una tabla que se muestra con datos disponibles, sobre cada columna tengo un campo de formulario de texto vacío que los usuarios pueden escribir en términos para filtrar. Esto funciona bien en todos los campos de texto y también funciona bien en campos enteros. Estoy haciendo algunas conversiones para algunos términos, como si el usuario escribe NULL o NOT NULL, por ejemplo, lo convierto a la expresión regular ^ $ o.

Sé que la expresión regular está pensada para buscar cadenas de texto, pero esto es lo que usan las tablas de datos, por eso estoy haciendo esto. Lo que quiero es que los usuarios puedan escribir un valor como "x a y" y poder convertirlo en una expresión regular. No puedo encontrar una función que haga esto, si alguien sabe de una, hágamelo saber.

Suponiendo que una función no existe, suponga que solo se buscarán enteros positivos y diga hasta 7 dígitos. por lo que 0 - 9,999,999 se pueden buscar. Además, la única forma en que esto se activa es mediante la palabra clave to con espacios "a".

así que algo como esto para empezar:

function convertNumRangeRegex(s){

if(s.indexOf(" to ") != -1){
var range = s.split(" to ");
lowRange = Number(range[0]);
highRange = Number(range[1]);   

if(lowRange >= 0 && lowRange < 10 && highRange < 10){
        s = "^[" + lowRange + "-" + highRange + "]$";
}};


return s; 
};

Esto funciona con los números 0-9, pero ampliar esto parece que se pondría bastante feo. Estoy preparado para cualquier ides. Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta