Python和正则表达式可以';在字符串中找不到序列

Python和正则表达式可以';在字符串中找不到序列,python,regex,findall,Python,Regex,Findall,嗨,我有以下字符串: t = '<td align="right" class="ofGridLinesTop" headers="amount" sortvalue="2633.33" valign="top">\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t\t$2,633.33\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t</td>' 然而,当我使用以下语句时: Amt

嗨,我有以下字符串:

t = '<td align="right" class="ofGridLinesTop" headers="amount" sortvalue="2633.33" valign="top">\n\t\t\t\t\t  \n\t\t\t\t\t  \n\t\t\t\t\t  \n\t\t\t\t\t\t$2,633.33\n\t\t\t\t\t  \n\t\t\t\t\t  \n\t\t\t\t\t</td>'
然而,当我使用以下语句时:

Amt = re.findall('\bsortvalue=.\b\d+.\d+.',t)
我是空的。你知道为什么吗?

用这个:

Amt = re.findall('\\bsortvalue=.\\b\d+.\d+.',t)
或者这个:

Amt = re.findall(r'\bsortvalue=.\b\d+.\d+.',t)

另请参见

尝试
r'\bsortvalue=“(\d+\.\d+””
。如何使用此正则表达式
”(sortvalue)(=)(“*?”)”
?回答正确,但应进行解释;您没有在
\b
等中转义反斜杠,因此您实际上是在替换那些转义码,而不是您想要的(即.\b是反斜杠)。要修复此问题,您可以对反斜杠进行转义,即
\\b
,或者通过在正则表达式前面加上
r
来创建原始字符串,就像在Horcrux的第二个示例中一样,它本质上是字符串文字,因此忽略转义字符。
Amt = re.findall(r'\bsortvalue=.\b\d+.\d+.',t)