Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用escape将python正则表达式拆分为多行_Python - Fatal编程技术网

使用escape将python正则表达式拆分为多行

使用escape将python正则表达式拆分为多行,python,Python,我有一个python初学者的问题。一个人如何把这一行分成多行 SET_CMD = re.compile (r'boot +set-cmd +-s +command\=(?P<pw>.*?)$') SET_CMD=re.compile(r'boot+SET CMD+-s+command\=(?P.*?)$) 我不想这样做,因为pep8会抱怨 SET_CMD = re.compile\ (r'boot +set-cmd +-s +command\=(?P<pw>.

我有一个python初学者的问题。一个人如何把这一行分成多行

SET_CMD = re.compile (r'boot +set-cmd +-s +command\=(?P<pw>.*?)$')
SET_CMD=re.compile(r'boot+SET CMD+-s+command\=(?P.*?)$)
我不想这样做,因为pep8会抱怨

SET_CMD = re.compile\
    (r'boot +set-cmd +-s +command\=(?P<pw>.*?)$')
SET\u CMD=re.compile\
(r'boot+set cmd+-s+命令\=(?P.*?)$)
谢谢,
Mat

执行以下操作:

SET_CMD = re.compile (r'boot +set-cmd +-s'
                      r' +command\=(?P<pw>.*?)$')
SET\u CMD=re.compile(r'boot+SET CMD+-s'
r'+命令\=(?P.*?)$)
这里有两个关键事实:

  • 位于括号内提供了隐式的行继续
  • 连续字符串将自动连接

您可以使用将表达式拆分为多行,而不是在偏执之前打断。此外,您还可以包含注释,这对于复杂的表达式可能很方便

例如:

SET_CMD = re.compile(r'''boot\s        # Comment
                         +set-cmd\s    # ...
                         +-s\s
                         +command
                         \=(?P<pw>.*?)$')''', re.VERBOSE)
SET_CMD=re.compile(r''boot\s#注释
+设置cmd\s#。。。
+-s\s
+命令
\=(?P.*?$)'',关于详细信息)
注意,我插入了一些
\s
来匹配空格,因为
re.VERBOSE
忽略了表达式中的空格和换行符