使用正则表达式忽略增值税号的空格和标点符号

Ignore spaces and punctuation for VAT number using Regex

我是正则表达式的新手,我在验证增值税号格式时试图忽略空格和标点符号。

我有这个正则表达式:^BE[0-9]{10,10}$

适用于此:BE1234567890

但我也需要它来为这些工作:

如何让正则表达式忽略我定义的空格和标点符号?

BE(\s?|:)(\d{10}|\d{3}.\d{3}.\d{3,4})

这完全适用于您给出的示例。请注意,您可能会匹配最后 \d{3,4} 中的更多数字以满足您的需求

一个更好的主意是预先去除所有空格和标点符号,然后使用正则表达式验证去除的字符串。

但如果你真的想,你可以这样做:

^BE([[:space:][:punct:]]*[0-9]){10}$

这允许在每个数字前任意 spaces/punctuation。