Python 更新正则表达式以提取IBAN';s

Python 更新正则表达式以提取IBAN';s,python,regex,Python,Regex,我有一个正则表达式,它提取了德国和奥地利的伊班语。然而,我刚刚意识到,html代码有时有奇怪的格式 \b(?:DE|AT)(?:\s?[0-9a-zA-Z]){18}(?:(?:\s?[0-9a-zA-Z]){2})?\b 因此,我必须排除无效的IBAN匹配。在我的示例中,我展示了显示错误匹配的示例。如何排除此项?您似乎只希望匹配数字。因此,您可以从字符类中删除a-zA-Z。还要注意,\s也可以匹配换行符,因此如果不希望匹配跨越换行符,可以匹配可选空格 \b(?:DE|AT)(?: ?[0-9

我有一个正则表达式,它提取了德国和奥地利的伊班语。然而,我刚刚意识到,html代码有时有奇怪的格式

\b(?:DE|AT)(?:\s?[0-9a-zA-Z]){18}(?:(?:\s?[0-9a-zA-Z]){2})?\b

因此,我必须排除无效的IBAN匹配。在我的示例中,我展示了显示错误匹配的示例。如何排除此项?

您似乎只希望匹配数字。因此,您可以从字符类中删除
a-zA-Z
。还要注意,
\s
也可以匹配换行符,因此如果不希望匹配跨越换行符,可以匹配可选空格

\b(?:DE|AT)(?: ?[0-9]){18}(?:(?: ?[0-9]){2})?\b

请参阅更新的

删除字符a-z并使用空格代替
\s
\b(?:DE|AT)(?:?[0-9]){18}(?:(?:?[0-9]){2})\b
非常感谢您的帮助。这是有道理的。问题已解决:-)可能需要重新考虑用于提取有效IBAN的模式。这是你前面问题的开始。