将regex模式作为系统参数传递给Python脚本

2024-03-28 09:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个接受regex模式的Python脚本,它执行如下操作:

import sys
import re

pattern = re.compile(sys.argv[1])
time_string = '2017-08-14 11:07:46'

def func(pattern):
    if re.search(pattern, time_string):
        # do something

但是当我运行python script.py \d{4}\-\d{2}\-\d{2}\s\d{2}:\d{2}:\d{2}时,函数中的条件总是以false结束。我被这个问题困扰了好几天,我需要帮助。提前谢谢。在


Tags: importre脚本searchstringiftimedef
1条回答
网友
1楼 · 发布于 2024-03-28 09:33:57

您忘了转义'\'字符,它们是bash特有的:

python script.py \\d{4}\-\\d{2}\-\\d{2}\\s\\d{2}:\\d{2}:\\d{2}

或者如注释所示,将整个字符串放在单引号中,则'\'将按字面意思处理:

^{pr2}$

相关问题 更多 >