Я хочу выполнить запрос, в котором я сопоставляю имя столбца, используя регулярное выражение для моей переменной, s
.s
является строковым литералом и может содержать такие вещи, как ?
, *
, .
и т. Д. Я хочу преобразовать s
, чтобы ?
превратился в .{0,3}
, чтобы все его оставшиесяСимволы регулярного выражения остаются литералами, а затем добавляют .*
в конец.примеры:
Hi -> Hi.*
Fo?ar -> Fo.{0,3}ar.*
F.a*rx -> F\.a\*rx.*
F.a?*rx -> F\.a.{0,3}\*rx
Какой лучший способ сделать это?В основном я не уверен, как заключить строковый литерал в кавычки, чтобы символы регулярного выражения не интерпретировались как символы регулярного выражения (например, .
-> \.
).