Konwertuj zakres liczb czytelnych dla człowieka na Regex

Mam tabelę, która jest wyświetlana przy użyciu danych, powyżej każdej kolumny mam puste pole tekstowe, które użytkownicy mogą wpisać w terminach, aby odfiltrować. To działa dobrze na wszystkich polach tekstowych i działa dobrze na polach liczb całkowitych. Robię pewną konwersję dla niektórych terminów, takich jak na przykład, jeśli użytkownik wpisze NULL lub NOT NULL, na przykład konwertuję go na wyrażenie regularne ^ $ lub.

Wiem, że regex jest przeznaczony do przeszukiwania ciągów tekstowych, ale to właśnie używa danych, dlatego właśnie to robię. Chcę, aby użytkownicy mogli wpisywać wartość, np. „X do y”, i móc ją przekonwertować na wyrażenie regularne. Nie mogę znaleźć funkcji, która to robi, jeśli ktoś o tym wie, daj mi znać.

Zakładając, że funkcja jeszcze nie istnieje, załóżmy, że będą przeszukiwane tylko dodatnie liczby całkowite i powiedzmy do 7 cyfr. tak 0 - 9 999 999 może być przeszukiwanych. Jedynym sposobem na wyzwolenie jest użycie słowa kluczowego ze spacjami „do”.

więc zacznij coś takiego:

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; 
};

Działa to z numerami 0-9, ale rozwinięcie tego wydaje się być dość brzydkie. Jestem gotowy na wszelkie idesy. Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion