Python 将长行代码转换为多行(SyntaxError:行连续字符后出现意外字符)
蟒蛇3.5 正则表达式Python 将长行代码转换为多行(SyntaxError:行连续字符后出现意外字符),python,python-3.x,Python,Python 3.x,蟒蛇3.5 正则表达式 Monat_pattern = r"(?P<Monat>[A-Z][a-z][a-z])" Tag_pattern = r"(?P<Tag>\d\d)" Uhrzeit_pattern = r"(?P<Uhrzeit>\d\d:\d\d:\d\d)" Servername_pattern = r"(?P<Servername>[\w|\.]*)" ServerID_pattern = r"(?P<ServerID>
Monat_pattern = r"(?P<Monat>[A-Z][a-z][a-z])"
Tag_pattern = r"(?P<Tag>\d\d)"
Uhrzeit_pattern = r"(?P<Uhrzeit>\d\d:\d\d:\d\d)"
Servername_pattern = r"(?P<Servername>[\w|\.]*)"
ServerID_pattern = r"(?P<ServerID>\w*\[\d*\]:\s\w*)"
如果字符串中有“\”,我需要使用“\”进行连接
我得到一个错误:
File "<ipython-input-115-1ca2b20ef199>", line 1
pattern = Monat_pattern + r"\s*" +\ Tag_pattern + r"\s*" +\ Uhrzeit_pattern + r"\s*" +\ Servername_pattern + r"\s*"+\\
^
SyntaxError: unexpected character after line continuation character
文件“”,第1行
pattern=Monat\u pattern+r“\s*”+\Tag\u pattern+r”\s*“+\Uhrzeit\u pattern+r”\s*“+\Servername\u pattern+r”\s*”+\\
^
SyntaxError:行连续字符后出现意外字符
您只能使用一个反斜杠:
pattern = Monat_pattern + r"\s*" +\
Tag_pattern + r"\s*" +\
Uhrzeit_pattern + r"\s*" +\
Servername_pattern + r"\s*"+\
ServerID_pattern + r"\s*"
您的实际代码在其中一个双反斜杠之后还包含一个空格,反斜杠必须是换行符之前的最后一个字符
您最好使用(…)
括号来扩展逻辑行,但是:
pattern = (
Monat_pattern + r"\s*" +
Tag_pattern + r"\s*" +
Uhrzeit_pattern + r"\s*" +
Servername_pattern + r"\s*"+
ServerID_pattern + r"\s*")
您可以在此处使用str.join()
:
pattern = r"\s*".join([
Monat_pattern, Tag_pattern, Uhrzeit_pattern,
Servername_pattern, ServerID_pattern, ''])
尾随的'
确保在ServerID\u模式
字符串之后使用额外的\s*
。您将只使用一个反斜杠:
pattern = Monat_pattern + r"\s*" +\
Tag_pattern + r"\s*" +\
Uhrzeit_pattern + r"\s*" +\
Servername_pattern + r"\s*"+\
ServerID_pattern + r"\s*"
您的实际代码在其中一个双反斜杠之后还包含一个空格,反斜杠必须是换行符之前的最后一个字符
您最好使用(…)
括号来扩展逻辑行,但是:
pattern = (
Monat_pattern + r"\s*" +
Tag_pattern + r"\s*" +
Uhrzeit_pattern + r"\s*" +
Servername_pattern + r"\s*"+
ServerID_pattern + r"\s*")
您可以在此处使用str.join()
:
pattern = r"\s*".join([
Monat_pattern, Tag_pattern, Uhrzeit_pattern,
Servername_pattern, ServerID_pattern, ''])
尾随的
'
确保在ServerID\u模式
字符串之后使用额外的\s*
。为什么要使用双反斜杠?您只需要一个。不需要在字符串文本之外转义反斜杠。您可能需要尝试自动格式化code@titus:autopep8犯了太多不合我口味的错误。你为什么用双反斜杠?您只需要一个。不需要在字符串文本之外转义反斜杠。您可能需要尝试自动格式化code@titus:autopep8犯了太多不合我口味的错误。一个反斜杠和(…)给了我错误“SyntaxError:EOL而扫描字符串文字”@Hellolad:那是因为您的最后一个字符串缺少结尾“
。我想知道是不是要指出这一点,或者这只是你问题中的一个打字错误。一个反斜杠和(…)会给我错误“SyntaxError:EOL while scanning string literal”@Hellolad:那是因为你的最后一个字符串缺少结尾“
。我想知道是否要指出这一点,或者这只是你问题中的一个打字错误。