-8

在 python 2.7 中,这个正则表达式匹配什么?

^[!-//-~]

是否有一个很好的来源,因为http://docs.python.org/2/library/re.html没有涵盖它。

4

1 回答 1

7
  • 是“^字符串开头”锚点,表达式仅在开头匹配。

  • 块是一个字符类,包含的[...]字符被视为一个集合。行首的其中一个足以构成匹配。

    类中的破折号构成一个范围,从!through to/和 from /through to ~;第一个范围的结束与第二个范围的开始重叠,这样[!-~]就足够了。

    !和之间~是所有可打印的ASCII 字符,除了空格字符。/斜线就在数字之前;看起来好像有人在重构之后忘记了合并这两个集合。

所以以下任何一行都将匹配:

!whatever
"don't care
~still doesn't matter what follows
/It's the first character that counts.
ABut almost anything printable in the ASCII range matches
于 2013-02-15T13:18:34.970 回答