Python正则表达式匹配括在引号中的关键字之后的另一个括在引号中的关键字

2024-04-20 04:46:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,正在尝试使用regex来匹配字符串。你知道吗

string = '"formula_pretty":"MoS2"'
whatIsee =re.search(r'(?<="formula_pretty":").+(?= \")',string.group(0)
print(whatIsee)

我想要的是whatIsee成为MoS2,然而检索不返回任何结果。我认为这与引号有关,但逃避引号也无济于事。你知道吗

有人知道这是怎么写的吗检索代码?你知道吗


Tags: 字符串代码researchstringprettygroup引号
3条回答
string = '"formula_pretty":"MoS2"'
match = re.search(r'(?<=:)\s*"(.+?)"', string).group(1)

编辑:包括解释:

https://regex101.com/r/l50w8A/1

你可以试试这个伴侣

(?<="formula_pretty":").+(?=")

您在正则表达式中遗漏了什么。

  • 这部分有一个额外的空格(?= \")。你知道吗

Demo

附言:-@Pushppendra用于区分“r”和“r”的区别

只有前瞻组(?= \")中的额外空间导致不匹配。只要这样做,就不必转义",因为您总是使用原始字符串。你知道吗

s = '"formula_pretty":"MoS2", "somethingelse":"blabla"'
whatIsee = re.search(r'(?<="formula_pretty":").+?(?=")', s)
print(whatIsee.group())

指纹

MoS2

相关问题 更多 >