使用可选标点符号标识数字序列

时间:2015-04-23 18:08:55

标签: regex

我正在尝试使用单个正则表达式识别不同格式的帐号。以下是我需要检测的不同格式:

12-34-56-78-9
12-3456-78-9
123-456-789
1-23-45678-9

我们需要在9位数之间检测“ - ”。但是没有任何线索“ - ”可能会来。截至目前,我正在为个别条件创建正则表达式并检测它。是否有一个简单的正则表达式来一次性检测上述内容?

1 个答案:

答案 0 :(得分:3)

在这里,这是一个非常简单的模式:

^(?:\d-?){8}\d$

Demo

它只是意味着:找到一个数字(\d),可选地后跟一个连字符(-?),连续8次({8}),然后是最后一位数字({ {1}})。这可以防止连字符成为第一个或最后一个字符,并且还可以防止连续两个连字符。