dave = [m.start() for m in re.finditer('*', "2345234*265354*26342567*356")]
print(dave)
每当我运行这段代码时,它都会给我带来这个巨大的错误。
Traceback (most recent call last):
File "C:\Users\Max\Desktop\MaxsCal V.1.py", line 107, in <module>
dave = [m.start() for m in re.finditer('*', "2345234*265354*26342567*356")]
File "C:\Program Files (x86)\Python 3\lib\re.py", line 220, in finditer
return _compile(pattern, flags).finditer(string)
File "C:\Program Files (x86)\Python 3\lib\re.py", line 293, in _compile
p = sre_compile.compile(pattern, flags)
File "C:\Program Files (x86)\Python 3\lib\sre_compile.py", line 536, in compile
p = sre_parse.parse(p, flags)
File "C:\Program Files (x86)\Python 3\lib\sre_parse.py", line 829, in parse
p = _parse_sub(source, pattern, 0)
File "C:\Program Files (x86)\Python 3\lib\sre_parse.py", line 437, in _parse_sub
itemsappend(_parse(source, state))
File "C:\Program Files (x86)\Python 3\lib\sre_parse.py", line 638, in _parse
source.tell() - here + len(this))
sre_constants.error: nothing to repeat at position 0
无论如何,有没有要修复的代码来提供输出,该输出应该是的所有内容的索引,*
例如[7, 14, 23]
。
re.finditer()
使用正则表达式查找匹配项。该正则表达式适合'*'
您。该*
在正则表达式有特殊的含义,因此,如果您刚才的意思是寻找一个明星人物,你需要逃避它:
dave = [m.start() for m in re.finditer('\\*', "2345234*265354*26342567*356")]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句