我需要帮助来完成我对德国税号的要求。这些数字的格式取决于状态。我几乎可以和所有的州媲美。剩下的国家只有黑森和不来梅。问题是,它们与其他号码非常相似(比如电话号码)。在我的演示中有一个完整的例子。
也许你能帮我匹配所有相关的数字。
这是我的准则:
(?:\d{3}\s?/\s?\d{3}\s?/\s?\d{5})|(?:\d{2}\s?/\s?\d{3}\s?/\s?\d{5})|(?:\d{3}\s?/\s?\d{4}\s?/\s?\d{4})|(?:\d{5}\s?/\s?\d{5}\b)|(\d{11})|(\d{10})这些是为完成所有状态的正则表达式而留下的关键模式:
Hessen: 02581580201
025 815 80201
Bremen: 7581508152
75 815 08152发布于 2020-10-23 08:47:51
您可以在可选空格字符之间匹配/,也可以使用(?:\s?/\s?|\s)匹配空白字符。
末端的零件可缩短为\d{10,11}。
前2部分可缩短为d{2,3}\s?/\s?\d{3}\s?/\s?\d{5}
\b(?:\d{2,3}(?:\s?/\s?|\s)\d{3}(?:\s?/\s?|\s)\d{5}|\d{3}(?:\s?/\s?|\s)\d{4}(?:\s?/\s?|\s)\d{4}|\d{5}(?:\s?/\s?|\s)\d{5}|\d{10,11})\b解释
\b用于防止匹配成为更大单词的一部分的单词边界(?:非捕获群\d{2,3}(?:\s?/\s?|\s)\d{3}(?:\s?/\s?|\s)\d{5}匹配2-3位数字,然后匹配3位数字和5位数字。|或\d{3}(?:\s?/\s?|\s)\d{4}(?:\s?/\s?|\s)\d{4}匹配3位、4位和4位|或\d{5}(?:\s?/\s?|\s)\d{5}|\d{10,11}匹配5位数字、5位数字和10位或11位数字)闭非捕获群\b A字界如果数字之间的部分应该匹配,还可以使用带有反向引用的捕获组来匹配第二部分中已经捕获的内容。
https://stackoverflow.com/questions/64496457
复制相似问题