我正在编写需要在命令行上指定正则表达式的脚本。所以程序应该能够在命令行中使用 \d+ ,例如:
python3 my_script.py \d+
假设 my_script.py 根据命令行给出的正则表达式搜索一些文件。
但是当我这样做时,领先的 \ 被剥离。所以打印 sys.argv 有 ['my_script.py', 'd+']。
如何让命令行中指定的正则表达式按原样使用?请注意正则表达式不在引号中。有可能吗?
(我正在使用 getopt 模块 来处理我的输入参数)
请您参考如下方法:
您可能应该使用两个反斜杠:
python3 my_script.py \\d+
或
python3 my_script.py '\d+'
要正确读取字符串文字中的反斜杠,需要对其进行转义或引用。
