[问题] 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