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>