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

请问:https?://[\w./]+ 为什么可以匹配 http://www.forta.comhttps://www.forta.com
前面的https:// 这部分 我明白 就是后面的 [\w./]+可以匹配www.forta.com ???
我的理解[]里面的是一个字符数字字母集 但是最终只会取一个!这里取了w可以重复出现几次,但是之后又出现了. 然后又是字母 接着又是.??!!这个显然和连续出现一次或者多次的解释不一样啊??!!

以我的理解,没有。

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

如[AB]+ 既可以匹配AAABBB又可以匹配BBBAAA BABAAABA等,不是一定要A....B....的次序。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-02
你理解错了吧...
w前面加了反斜杠,是\w,与[a-zA-Z0-9_]等价
也就是包含下划线以下的所有字母和数字
而后面的加号,则是匹配紧跟其前面那个字符的 一次或多次
中括号[]表示匹配其中任意字符
所以,你说的[\w./]+就是一或多次匹配 任何数字,字母,下划线,斜杠,还有英文的句号(一个点)
所以,那个表达式可以匹配www.forta.com
P.S.正确来说,[\w./]+这个式子里的那个点,应该加个反斜杠

参考资料:自己打的

本回答被网友采纳
第2个回答  2012-10-02
[\w./]+
是匹配\w 或 . 或 / 这三者之一的字符,也就是说在中括号里的点,不是任意字符的意思,就是匹配它自己,在中括号里,点可以不用加反斜杠
相似回答