Python正则表达式

Python正则表达式,python,regex,Python,Regex,你能解释一下为什么第一个正则表达式不匹配吗 Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin >>> import re >>> re.match(r'\d','.0') >>> re.match(r'.\d','.0') <_sr

你能解释一下为什么第一个正则表达式不匹配吗

Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
>>> import re
>>> re.match(r'\d','.0')
>>> re.match(r'.\d','.0')
<_sre.SRE_Match object at 0x109adbd30>
Python 2.7.1(r271:86832,2011年6月16日,16:59:05)
[GCC 4.2.1(基于苹果公司5658版本)(LLVM版本2335.15.00)]关于达尔文
>>>进口稀土
>>>重新匹配(r'\d','.0')
>>>重新匹配(r'.\d','.0')

因为您使用的是
匹配
并且从一开始就匹配字符串(就像您使用的
^

尝试
re.search

尝试从字符串开始匹配

如果要在字符串中的任何位置查找匹配项,请改用

PS:您可能希望转义
,因为它是一个元字符,匹配任何1个字符(因此
x0
将匹配您的第二个示例)

重新匹配(r'\.\d',x0') >>>重新匹配(r'.\d',x0')
1除非使用换行符,否则换行符除外。

作为搜索与匹配的参考:

>>> re.match(r'\.\d', 'x0')
>>> re.match(r'.\d', 'x0')
<_sre.SRE_Match object at 0x01F67138>