正则表达式中尀w+ 和[尀w]+ 有区别么?

2024-11-05 06:37:51
推荐回答(3个)
回答1:

以我的理解,没有。

不, []内的字符可以以任意次序出现。
[]后有了+,[]内的字符可以取任意多个。于是[]内的字符可以以任意次序出现任意多次,直到遇到第一个非[]内的字符。

如[AB]+ 既可以匹配AAABBB又可以匹配BBBAAA BABAAABA等,不是一定要A....B....的次序。

回答2:

你理解错了吧...
w前面加了反斜杠,是\w,与[a-zA-Z0-9_]等价
也就是包含下划线以下的所有字母和数字
而后面的加号,则是匹配紧跟其前面那个字符的 一次或多次
中括号[]表示匹配其中任意字符
所以,你说的[\w./]+就是一或多次匹配 任何数字,字母,下划线,斜杠,还有英文的句号(一个点)
所以,那个表达式可以匹配www.forta.com
P.S.正确来说,[\w./]+这个式子里的那个点,应该加个反斜杠

回答3:

[\w./]+
是匹配\w 或 . 或 / 这三者之一的字符,也就是说在中括号里的点,不是任意字符的意思,就是匹配它自己,在中括号里,点可以不用加反斜杠