它是如何工作的?

use*_*944 1 regex perl

perl编程中,\w是一种正则表达式.

我想知道的是它是如何匹配的?无论是匹配字符还是单词,同样的问题\w+

Jer*_*rry 7

\w是一个速记字符类.

可以说是相当于角色类[A-Za-z0-9_].值得指出的是,它将匹配字符类中指定范围内的任何1个字符.

并且由于操作符+用于表示1次或更多次,\w+表示前面提到的范围内的任何字符,至少一次.

因此,\w+可以匹配单个字符(字母,数字或下划线),包含任何字母,数字和/或下划线的单词.

如果你想要严格\w,它会匹配这些字符(也许更多).下面的图片可以在我上面发布的链接中找到.

在此输入图像描述


Boh*_*ian 7

\w 指"任何字母,数字或下划线".

许多人认为它等同于[a-zA-Z0-9_],但事实并非如此.这是一个字母或数字的每个Unicode字符,包括非拉丁字符,如中文,阿拉伯语等.