我正在尝试使用单个正则表达式识别不同格式的帐号。以下是我需要检测的不同格式:
12-34-56-78-9
12-3456-78-9
123-456-789
1-23-45678-9
我们需要在9位数之间检测“ - ”。但是没有任何线索“ - ”可能会来。截至目前,我正在为个别条件创建正则表达式并检测它。是否有一个简单的正则表达式来一次性检测上述内容?
答案 0 :(得分:3)
在这里,这是一个非常简单的模式:
^(?:\d-?){8}\d$
它只是意味着:找到一个数字(\d
),可选地后跟一个连字符(-?
),连续8次({8}
),然后是最后一位数字({ {1}})。这可以防止连字符成为第一个或最后一个字符,并且还可以防止连续两个连字符。