如何将字符串转换为在Perl中与自身匹配的正则表达式?
我有一组像这样的字符串:
Enter your selection: Enter Code (Navigate,Abandon,Copy,Exit,?):
我想将它们转换为正则表达式,我可以匹配其他东西.在大多数情况下,字符串与正则表达式相同,但在上面的第二个示例中没有,因为(和?在正则表达式中有意义.因此第二个字符串需要变成如下表达式:
Enter Code \(Navigate,\?\):
我不需要匹配太严格,所以像这样的东西会很好:
Enter Code .Navigate,..:
我目前的想法是,我可以使用类似的东西:
s/[\?\(\)]/./g;
但我真的不知道字符串列表中会有哪些字符,如果我错过了一个特殊字符,那么我可能永远不会注意到程序没有按预期运行.我觉得应该有一个普遍的解决方案.
谢谢.