更新正则表达式以提取 IBAN 的



我有一个提取德国和奥地利iban的正则表达式。然而,我刚刚意识到,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

查看更新后的regex演示

最新更新