[問題] 正則的分組匹配問題
嗨版上大家好,最近重溫正則表達式,
直接切入主題
想說搞清楚分組的匹配邏輯,就測試以下
re.findall(r"(\d)+", "my number are 8755 and 33"
就我的理解是因為只有5跟3是疊字,所以應該會回傳['5','3']
也確實如此
但不確定是不是只是結果矇對了QQ
於是我稍加修改,
re.findall(r"(\d)+", "my number are 87558 and 337"
但回傳的結果是['8','7'],沒有5也沒有3
拿去問chatgpt,
回答是在87558的情況下,會依序8>7>5>5>8這樣匹配,
後面無法再繼續匹配就發生回溯,於是回傳8
8755的情況是直接匹配到最後一個字符'5',當作最後一個成功結果,故回傳
結果把我搞得更亂了QQ,請問版上高手為何這兩種狀況會有這麼不同的回傳結果Orz?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.123.10 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1685073625.A.DD9.html
→
05/26 12:11,
1年前
, 1F
05/26 12:11, 1F
→
05/26 12:12,
1年前
, 2F
05/26 12:12, 2F
→
05/26 12:17,
1年前
, 3F
05/26 12:17, 3F
推
05/26 21:23,
1年前
, 4F
05/26 21:23, 4F
→
05/27 03:30,
1年前
, 5F
05/27 03:30, 5F
→
05/27 03:30,
1年前
, 6F
05/27 03:30, 6F
推
05/27 22:53,
1年前
, 7F
05/27 22:53, 7F
噓
05/28 16:30,
1年前
, 8F
05/28 16:30, 8F
→
05/28 16:30,
1年前
, 9F
05/28 16:30, 9F
→
05/28 16:31,
1年前
, 10F
05/28 16:31, 10F
Python 近期熱門文章
PTT數位生活區 即時熱門文章