忽略指定字符的特定长度的正则表达式

man*_*una 0 regex

假设我们有一些定义长度的字符串,其中可能包含一些分隔符,仅用于用户友好的视图。

示例:9 位字符串“123456789”,可以显示为“123,456,789”或“123.456.789”或“1-234-5-67-89”或“123 456 789”

我需要的是一个正则表达式,它可以计算长度而忽略分隔符。类似的东西[\d|,\.\-\s]{9},但只有 \d 计入 {9} (允许任意数量的分隔符......可选地,分隔符不应超过连续两个)

ken*_*ytm 6

^[-.,\s]*(?:\d[-.,\s]*){9}$
Run Code Online (Sandbox Code Playgroud)

可选地,分隔符连续不应超过两个:

^[-.,\s]{0,2}(?:\d[-.,\s]{0,2}){9}$
Run Code Online (Sandbox Code Playgroud)