为什么下划线不能与Python中的'\ W'匹配?

时间:2016-03-11 13:54:57

标签: python regex

我知道_无法与\W匹配,而其他任何标点都可以。 正如文档所述:\w是一组字母数字字符 下划线

同时:

enter image description here

我一直对此感到困惑,但从来没有真正打扰过质疑为什么。

是否与_在Python中扮演的特殊角色有关?

1 个答案:

答案 0 :(得分:4)

模块re中的许多Python正则表达式语法来自Perl,它是influenced by sed and awk\w来自那里并且历史悠久。

在最初的regex模块(在Python 1.5中已弃用)中,\w确实包含_,{{3} }:

  

<强> \w

     

匹配任何字母数字字符;这相当于集合[a-zA-Z0-9]

P.S。虽然不是很方便,但可以将所有非\w + _与字符类[\W_]匹配。