使用Python模块re,如何获得“\ w”(与字母数字字符匹配)的等价物而不匹配数字字符(可以通过“[0-9]”匹配的那些字符)?
请注意,基本需要是匹配任何字符(包括所有unicode变体)而没有数字字符(与“[0-9]”匹配)。
作为最后一点,我真的需要一个正则表达式,因为它是更大的正则表达式的一部分。
不应匹配下划线。
编辑:
答案 0 :(得分:32)
您想要[^\W\d]
:不是的字符组(数字或不是字母数字)。如果您不想要它们,则在该否定集中添加下划线。
答案 1 :(得分:9)
(?!\d)\w
未跟随数字的位置,然后是\w
。有效取消数字但通过使用否定预测允许\w
范围。
同样可以表示为积极前瞻和\D
:
(?=\D)\w
要匹配其中的多个,请用parens括起来:
(?:(?!\d)\w)+