python初学者问题

import re

b=""title":"三国群英传","adImgUrl":"https://img0.qidian.com/upload/gamesy/2022/06/28/"
pat=r""title":"(.*?)",""
print(re.findall(pat,b))
运行后报错:
File "D:\python\text2.py", line 5
b=""title":"三国群英传","adImgUrl":"https://img0.qidian.com/upload/gamesy/2022/06/28/"
^
SyntaxError: invalid syntax
[Finished in 245ms]

为什么啊

语法错误,你那个b=后面多了半边引号,去掉就可以了

import re

b="title":"三国群英传","adImgUrl":"https://img0.qidian.com/upload/gamesy/2022/06/28/"
pat="title":"(.*?)",""
print(re.findall(pat,b))

问题在于单引号和双引号的区别:

  • 如果你的字符串里面包含双引号,那么你就需要用单引号定义字符串,例如 '我的"名字"是xxx'
  • 如果字符串里包含单引号,那么你就需要用双引号定义字符串,例如 "我的'名字'是xxx"
  • 如果字符串里既包含单引号又包括双引号,那么你就需要三引号定义字符串,例如 '''我的"名字"是'xxx'哈哈哈'''

以下是正确代码:

import re

b = '"title":"三国群英传","adImgUrl":"https://img0.qidian.com/upload/gamesy/2022/06/28/"'
pat = r'"title":"(.*?)","'
print(re.findall(pat, b))