我有一个这样的字符串示例:us-west,AAA 4589235i date=Wed\\ Dec\\ 12\\ 02:27:22\\ UTC\\ 2018
我想用空格分割它... ,但以'\'开头的空格除外。这样的字符串可能会有任何变化,并且空格之前可以加上"
或$
或&
。我只想避免使用\
,因为这是以我想忽略的转义符发送的数据。
如何精确匹配 <any character except '\'>\s
?
我想,也许您正在尝试:
import re
string = '''us-west,AAA 4589235i date=Wed\\\\ Dec\\\\ 12\\\\ 02:27:22\\\\ UTC\\\\ 2018'''
expression = r'(?<!\\\\)\s'
print(re.split(expression,string))
['us-west,AAA','4589235i','date=Wed\\\\ Dec\\\\ 12\\\\ 02:27:22\\\\ UTC\\\\ 2018']
如果您想简化/更新/探索表达式,请在regex101.com的右上角进行解释。如果您有兴趣,可以观看匹配的步骤或在this debugger link中进行修改。调试器演示了a RegEx engine如何逐步使用一些示例输入字符串并执行匹配过程的过程。