【问题标题】:Regex match on any two characters where the two characters start with anything but a backslash and then a space正则表达式匹配任何两个字符,其中两个字符以反斜杠和空格开头
【发布时间】:2019-11-28 04:04:19
【问题描述】:

我有一个这样的字符串示例:us-west,AAA 4589235i date=Wed\\ Dec\\ 12\\ 02:27:22\\ UTC\\ 2018

我想用空格来分割它...除了前面有'\'的空格。像这样的字符串可以有任何变化,空格前面可以是"$&。我只是想避免\s,因为这是用我想忽略的转义符发送的数据。

我怎样才能完全匹配 <any character except '\'>\s

【问题讨论】:

  • [^\\]\s 应该可以。

标签: python regex python-3.x regex-negation


【解决方案1】:

我猜,也许你正在尝试这样做:

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 如何逐步消耗一些示例输入字符串并执行匹配过程。


【讨论】:

  • 你赢了!谢谢@Emma!
猜你喜欢
  • 2012-11-22
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多