關於Pyhton正則報錯: sre_constants.error: nothing to repeat at position


寫了錯誤的正則表達式

1、\b 后帶數量

將\d 誤寫成了\b , 尷尬!

>>> pattern = re.compile(r'123\b*hello')

  輸出:

Traceback (most recent call last): File "<input>", line 1, in <module> File "E:\Anacoda3\Lib\re.py", line 233, in compile return _compile(pattern, flags) File "E:\Anacoda3\Lib\re.py", line 301, in _compile p = sre_compile.compile(pattern, flags) File "E:\Anacoda3\Lib\sre_compile.py", line 562, in compile p = sre_parse.parse(p, flags) File "E:\Anacoda3\Lib\sre_parse.py", line 856, in parse p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, False) File "E:\Anacoda3\Lib\sre_parse.py", line 415, in _parse_sub itemsappend(_parse(source, state, verbose)) File "E:\Anacoda3\Lib\sre_parse.py", line 615, in _parse source.tell() - here + len(this))
sre_constants.error: nothing to repeat at position 2

 報錯原因:由於 \b 為單詞邊界, * 的含義為出現任意次,也就是說, 單詞只能有一個邊界,不可能出現任意次,所以會報這個錯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM