看板 RegExp 關於我們 聯絡資訊
Python 3.7 =====程式碼===== import re pattern = re.compile(r"goDetail('") match = pattern.match("goDetail('2069','17-104-214-3(21112)')") print(match) ================ 執行一直報錯 error: missing ), unterminated subpattern at position 8 小弟想要取出上述綠色的值 想到的方法是用start、end來做處理 但一直發生missing )的問題 想請問各位前輩要怎麼解 或 是否有更好的處理方式 先感謝各位大大了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.242.44.65 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1582169496.A.D8C.html
goldie: re.compile() 裡面置換成… 02/20 13:21
goldie: goDetail\('([^']+)','([^']+)'\) 02/20 13:21
goldie: 看看… 02/20 13:21
goldie: 然後再print(match.group(1))跟print(match.group(2))看看 02/20 13:23
ctr1: 大哥,你太神了,請受小弟一拜 02/20 14:16
ctr1: 可以說明一下邏輯嗎 拜託惹 02/20 14:16
LPH66: () 在 re 裡的意思是框起來抓成 group, 所以有 ( 就要有 ) 02/21 01:07
LPH66: 如果你要表示「( 這個字」則要在前面加一個 \ 表示, ) 亦同 02/21 01:08
LPH66: 這回答中, 框起來的 () 和普通的 \(\) 都有, 可自行推敲 02/21 01:10
goldie: 對,重點就是()跟\(\)的不同、以及match group用法 02/21 12:39
goldie: 感謝樓上幫忙解釋,且講的很仔細 ^^b 02/21 12:46