Как я могу преобразовать строку в регулярное выражение, которое совпадает с самим собой в Perl?
У меня есть такой набор строк:
Enter your selection:
Enter Code (Navigate, Abandon, Copy, Exit, ?):
и я хочу преобразовать их в регулярные выражения, так что я могу сопоставить что-то еще с ними. В большинстве случаев строка совпадает с регулярным выражением, но не во втором примере выше, потому что (и? Имеют значение в регулярных выражениях. Так что вторая строка должна стать выражением типа:
Enter Code \(Navigate, Abandon, Copy, Exit, \?\):
Мне не нужно, чтобы совпадение было слишком строгим, поэтому что-то вроде этого было бы хорошо:
Enter Code .Navigate, Abandon, Copy, Exit, ..:
В настоящее время я думаю, что я мог бы использовать что-то вроде:
s/[\?\(\)]/./g;
но я на самом деле не знаю, какие символы будут в списке строк, и если я пропущу специальный символ, то я могу никогда не заметить, что программа работает не так, как ожидалось. И я чувствую, что должно быть общее решение.
Спасибо.