[問題] Python match問題 missing )

作者: ctr1 (【積π】)   2020-02-20 11:31:34
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 )的問題
想請問各位前輩要怎麼解
或 是否有更好的處理方式
先感謝各位大大了
作者: goldie (阿良)   2020-02-20 13:21:00
re.compile() 裡面置換成…goDetail\('([^']+)','([^']+)'\)看看…然後再print(match.group(1))跟print(match.group(2))看看
作者: ctr1 (【積π】)   2020-02-20 14:16:00
大哥,你太神了,請受小弟一拜可以說明一下邏輯嗎 拜託惹
作者: LPH66 (-6.2598534e+18f)   2020-02-21 01:07:00
() 在 re 裡的意思是框起來抓成 group, 所以有 ( 就要有 )如果你要表示「( 這個字」則要在前面加一個 \ 表示, ) 亦同這回答中, 框起來的 () 和普通的 \(\) 都有, 可自行推敲
作者: goldie (阿良)   2020-02-21 12:39:00
對,重點就是()跟\(\)的不同、以及match group用法感謝樓上幫忙解釋,且講的很仔細 ^^b

Links booklink

Contact Us: admin [ a t ] ucptt.com