任意数量任意字符的正则表达式模式

问题描述 投票:0回答:1

我无法让下面的正则表达式匹配字符串中两个双引号之间任意数量的任意字符的模式。我尝试过 .* 许多不同的方法,但我似乎无法识别该模式。理想情况下,当搜索名为“stringer”的字符串时,会返回“GABA-aminotransferase-like”。我怎样才能让它发挥作用?

import re

pattern = '{"name":"SCOP2_FAMILY_NAME","values":["/.*"]}'
stringer = '''{"beg_seq_id":1,"end_seq_id":421}],"additional_properties":[{"name":"SCOP2_FAMILY_NAME","values":["GABA-aminotransferase-like"]},{"name":"SCOP2_DOMAIN_ID","values":["8096227"]},{"name":"SCOP2_FAMILY_ID","values":["4000675"]}]},'{"assignment_version":"2022-06-29","feature_id":"8096228","name":"PLP-dependent transferases","ordinal":9,"provenance_source":"SCOP2","type":"SCOP2_SUPERFAMILY","feature_positions":[{"beg_seq_id":1,"end_seq_id":421}],"additional_properties":[{"name":"SCOP2_SUPERFAMILY_NAME","values":["PLP-dependent transferases"]}'''

match = re.match(pattern, stringer)
print(match)
python regex
1个回答
0
投票

尝试在 [ ]" 之前使用 \。 [ ]" 是特殊符号,必须在它们之前使用 **

例如 [".*"] 将在 1234["567"]8910 中找到 ["567"]

© www.soinside.com 2019 - 2024. All rights reserved.