作者ctr1 (【积π】)
看板RegExp
标题[问题] Python match问题
时间Thu Feb 20 11:31:34 2020
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://webptt.com/cn.aspx?n=bbs/RegExp/M.1582169496.A.D8C.html
1F:推 goldie: re.compile() 里面置换成… 02/20 13:21
2F:→ goldie: goDetail\('([^']+)','([^']+)'\) 02/20 13:21
3F:→ goldie: 看看… 02/20 13:21
4F:推 goldie: 然後再print(match.group(1))跟print(match.group(2))看看 02/20 13:23
5F:→ ctr1: 大哥,你太神了,请受小弟一拜 02/20 14:16
6F:→ ctr1: 可以说明一下逻辑吗 拜托惹 02/20 14:16
7F:推 LPH66: () 在 re 里的意思是框起来抓成 group, 所以有 ( 就要有 ) 02/21 01:07
8F:→ LPH66: 如果你要表示「( 这个字」则要在前面加一个 \ 表示, ) 亦同 02/21 01:08
9F:→ LPH66: 这回答中, 框起来的 () 和普通的 \(\) 都有, 可自行推敲 02/21 01:10
10F:推 goldie: 对,重点就是()跟\(\)的不同、以及match group用法 02/21 12:39
11F:推 goldie: 感谢楼上帮忙解释,且讲的很仔细 ^^b 02/21 12:46