Python正则表达式与精确数字匹配

Python正则表达式与精确数字匹配,python,regex,Python,Regex,在这个例子中我只需要找到两位数字32,但它匹配并打印32332222 代码: 32小的32 324 567 323是32其他不是323 32-123“” 预期产出: ['32','32','32','32','32','32','32']#长度是8,因为字符串s包含8乘以32位 8尝试使用pattern=“\\b32\\b”\b-是单词边界,您应该使用double\使用regexr'\b\d{2}\b'获得由单词边界分隔的两位数 您可以在模式中应用单词边界,如下所示: import re s

在这个例子中我只需要找到两位数字32,但它匹配并打印32332222

代码:

32小的32 324 567 323是32其他不是323 32-123“”

预期产出: ['32','32','32','32','32','32','32']#长度是8,因为字符串s包含8乘以32位
8

尝试使用
pattern=“\\b32\\b”
\b-是单词边界,您应该使用double\

使用regex
r'\b\d{2}\b'
获得由单词边界分隔的两位数


您可以在模式中应用单词边界,如下所示:

import re

s = """32 M 32 L 32 S 32 K 324 J 32555 A 32222 B 8888
32 small again 32 324 567
323 yes 32 else again not 323 32"""

pattern = r"\b32\b" 
result = re.findall(pattern, s)
print(result)
要搜索以下任意两位数字,可使用以下模式:

pattern = r"\b\d\d\b"
您可以尝试:

pattern = r'\b32\b'
模式字符串开头的
'r'
指定了一个python“
raw
”字符串,该字符串通过反斜杠而不做任何更改


\b
允许您使用
\bword\b

格式的正则表达式执行“
仅整词搜索”,这里的预期输出是什么,仅是
['32']
?不是python专家,为什么需要双“\”?因为单斜杠用作转义序列字符,因此要读取斜杠,必须在它前面加上另一个斜杠。如果感觉混淆,可以选择使用原始字符串。这个答案看起来是正确的,如果数字以32-123开头,它是匹配的,但在我的例子中是匹配的它不应该匹配它将不匹配,因为这里使用了\b。您可以阅读它的工作原理的一些详细信息。如果您不熟悉正则表达式,可以在几个晚上阅读它。它非常有用。OP希望获得精确匹配[
32
]。其他数字不重要。请再次阅读OP的问题。根据OP,“我必须在本例中只找到两位数32”OP声明:预期输出:['32','32','32','32','32','32']。#长度为8,因为字符串s包含8乘以32位数字。我认为不清楚。所以,让OP决定。多么传奇,它起了作用
pattern = r"\b\d\d\b"
pattern = r'\b32\b'