如何匹配';空间';python2正则表达式中的符号(并且只有空格)?

如何匹配';空间';python2正则表达式中的符号(并且只有空格)?,python,regex,Python,Regex,我正在尝试使用PythonV2(特别是2.7.5)和're'模块进行正则表达式匹配。我的问题是,对于我的应用程序,我需要匹配“空格”符号(即十六进制中的0x20),并且仅将该符号作为匹配字符串的一部分。我尝试的第一件事是'\s',但它不起作用,因为它还匹配换行符、返回符、制表符和表单 最终要求是匹配一个字符串,其中前三个字符是数字('\d'),有一个逗号(','),然后是八个数字('\d')或空格(???)符号 有什么建议吗?我已经尝试过的 C:\Users\jlaird>python

我正在尝试使用PythonV2(特别是2.7.5)和're'模块进行正则表达式匹配。我的问题是,对于我的应用程序,我需要匹配“空格”符号(即十六进制中的0x20),并且仅将该符号作为匹配字符串的一部分。我尝试的第一件事是'\s',但它不起作用,因为它还匹配换行符、返回符、制表符和表单

最终要求是匹配一个字符串,其中前三个字符是数字('\d'),有一个逗号(','),然后是八个数字('\d')或空格(???)符号

有什么建议吗?我已经尝试过的

 C:\Users\jlaird>python
 Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import re
 >>> goodstring = '333,000000 2'
 >>> badstring = '333,000000\t2'
 >>> print badstring
 333,000000      2
 >>> sRegex = '\d\d\d,[\s\d][\s\d][\s\d][\s\d][\s\d][\s\d][\s\d][\s\d]'
 >>> cRegex = re.compile(sRegex)
 >>> cRegex.match(goodstring)
 <_sre.SRE_Match object at 0x023A7A30>
 >>> cRegex.match(badstring)
 <_sre.SRE_Match object at 0x025E82C0>
 >>>
C:\Users\jlaird>python
win32上的Python 2.7.5(默认,2013年5月15日,22:43:36)[MSC v.1500 32位(英特尔)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口稀土
>>>goodstring='3330000002'
>>>badstring='333000000\t2'
>>>打印坏字符串
333,000000      2
>>>sRegex='\d\d\d,[\s\d][\s\d][\s\d][\s\d][\s\d][\s\d][\s\d][\s\d][\s\d][\s\d]'
>>>cRegex=re.compile(sregx)
>>>cRegex.匹配(goodstring)
>>>cRegex.match(坏字符串)
>>>

我希望'badstring'计算为None,因为它具有制表符而不是空格。我该怎么做呢?

谢谢jonrsharpe…很管用。我总是把一些简单的事情复杂化。对不起

>>> sRegex = '\d\d\d,[ \d][ \d][ \d][ \d][ \d][ \d][ \d][ \d]'
>>> cRegex = re.compile(sRegex)
>>> cRegex.match(goodstring)
<_sre.SRE_Match object at 0x023A7A30>
>>> cRegex.match(badstring)
>>>
>>sRegex='\d\d\d,[\d][\d][\d][\d][\d][\d][\d][\d][\d]'
>>>cRegex=re.compile(sregx)
>>>cRegex.匹配(goodstring)
>>>cRegex.match(坏字符串)
>>>

\s
匹配任何空白字符;如果需要空格,请使用空格。只需在正则表达式中键入实际的空格字符。您似乎知道字符类,\s,空格。你怎么会错过一个空格就是一个字符呢?喝了太多咖啡,对python-re方言来说还是新鲜事。4小时内超过6杯后,我的大脑会做出奇怪的事情!!