>>> import re
>>> re.compile(r'?')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/re.py", line 190, in compile
return _compile(pattern, flags)
File "/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/re.py", line 242, in _compile
raise error, v # invalid expression
sre_constants.error: nothing to repeat
开头的问号是
nothing to repeat
错误的原因。你知道吗匹配美元加号和点:
演示:
嗯,根据http://docs.python.org/2/library/re.html,
[.*]+
会匹配.*..*
,*....*
,*.*.*.
等等。。。因为特殊字符在集合中失去了意义。改用[.\d]+
或[.0-9]+
。你知道吗你应该改进正则表达式的基础知识。错误是由于?在开始的时候。它是一个量词,在这个量词之前什么都没有。使用*和+也没有多大意义。如果不知道您的确切需求,就很难提出更好的解决方案,因为您的regex有太多的问题。你知道吗
相关问题 更多 >
编程相关推荐