正则怎么不要边界?
x = '[{"name":"11151330"}]'print(re.search(r'[[{"name":](.*?)[}]]', x))
这时候打印出来的仍然是x的值,怎么只取出"11151330"呢? 本帖最后由 suchocolate 于 2020-10-29 14:24 编辑
print(re.findall(r'name":"(.*)"', x))
print(re.search(r'name":"(.*)"', x).groups(0)) suchocolate 发表于 2020-10-29 13:17
没有变化吧?我试了一下 vcbeaut 发表于 2020-10-29 13:22
没有变化吧?我试了一下
我写错了,你试试re.findall,代码改好了。 import re
x = '[{"name":"11151330"}]'
print(re.search(r'\[\{"name":"(\d+)"\}\]', x).group(1)) 本帖最后由 Cool_Breeze 于 2020-10-29 15:56 编辑
了解一些,但还不够!
re.search(r'"name":([\'"])?(.*)\1?}',x).group(2)
re.search(r':(?P<punct>[\'"])(?P<digit>*)(?P=punct)', x).group('digit')
re.search(r':(?P<punct>[\'"])(?P<digit>(?a:*)).*(?P=punct)', x).group('digit')
re.search(r'(?<="name":)(?P<punct>[\'"])(?P<digit>*).*(?P=punct)', x).group('digit')
json
x=json.loads('[{"name":"11151330"}]') print(re.search(r'(?<=\[{"name":).*?(?=}\])', x).group())
这是所有语言通用的正则 不依赖python的分组
页:
[1]