关于正规表达式

关于正规表达式

import re
   
teststr3="email:    joe_doe@deitel.com"
expre2=r"\w+:\s+\w+@\w+\.(com|org|net)"
if re.match(exper2, etststr3):
      print expre2, 'matches', teststr3
结果:
\w+:\s+\w+@\w+\.(com|org|net) matches email:    joe_doe@deitel.com

请问在代码里的\w,\s是代表什么意思?是指匹配任意字符?高手们能提供正规表达式匹配任意字符\?代表什么意思?如\D+指 匹配一个或者多个不是数字位的字符.我只知道的只有两个是'^'和'$'请高手们把知道的都列一下吧.谢谢!

还有一个看不懂的:
用正规表达式看,以下两句match?答案是MATCH的,但看不懂是怎么MATCH的.

s = [0-9][a-zA-z0-9_].[0-9][yz]
y = "2x+5y"

看python中re模块的文档。
\w       匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'
\s       匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]

s = [0-9][a-zA-z0-9_].[0-9][yz]
y = "2x+5y"

'[0-9]'匹配2,'[a-zA-z0-9_]'匹配x,'.'匹配+,'[0-9]'匹配5,'[yz]'匹配y


QUOTE:
请问在代码里的\w,\s是代表什么意思?是指匹配任意字符?高手们能提供正规表达式匹配任意字符\?代表什么意思?如\D+指 匹配一个或者多个不是数字位的字符.我只知道的只有两个是'^'和'$'请高手们把知道的都列一下吧.谢谢!

\w 和\s上面说了,
?指前面部分匹配0或一次, 这是表示数量的
.匹配任意单个字符
*表示前面部分匹配0次或多次
+表示前面部分匹配1次或多次
{x,y}表示前面部分匹配 x次到y次

\d==[0-9]

------------
建议楼主详细看看正则表达式方面, 其实基本的东西没有多少, 看一个小时基本可以够用了, 当然要用的很精通就要下功夫了..