【问题标题】:Why Python's re module escapes semicolon characters [closed]为什么Python re模块转义分号字符[关闭]
【发布时间】:2014-08-12 05:07:58
【问题描述】:

为什么 Python 的 re 模块会转义分号字符?

print(re.escape('text;text'))

给我以下输出:

text\;text

【问题讨论】:

  • 因为它将; 视为特殊字符。
  • 因为转义例程非常简单:它转义所有非字母数字字符
  • 你期待什么?

标签: python regex python-2.7


【解决方案1】:
>>> re.escape.__doc__
'Escape all non-alphanumeric characters in pattern.'

它转义了;(分号),因为; 不是字母数字字符。

【讨论】:

    【解决方案2】:

    它转义了分号,因为这是它的设计目的。根据the docs,它会转义所有非字母数字字符。

    返回所有非字母数字反斜杠的字符串;如果您想匹配其中可能包含正则表达式元字符的任意文字字符串,这将非常有用。

    【讨论】:

      猜你喜欢
      • 2016-11-09
      • 2019-01-05
      • 2022-12-06
      • 1970-01-01
      • 2011-02-03
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多