为什么这个Python正则表达式不匹配?

问题描述 投票:0回答:1
string = "dealing magic damage to enemies she passes through, increased by 0% − 200% (based on target's missing health)."

为什么以下正则表达式不匹配?

if re.search(r"increased by [-0-9% ]{6,}\(based on target\'s missing health", string):

我尝试了很多变体,但我不知道我做错了什么。

我尝试了不同的转义序列,并在自定义字符类上使用 + 而不是 {6,},这导致我在与 0% 匹配的自定义字符类上使用 + 搜索此模式时遇到另一个问题但在匹配其余的 - 200% 之前停止。有什么想法吗?

python regex
1个回答
0
投票

r'...'
r"..."
表示原始字符串,这意味着其中的任何内容都被视为文字字符串内容。在您的情况下,这意味着
target\'s
被视为文字文本(反斜杠位于字符串中)。由于目标文本不包含反斜杠,因此不匹配。

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