Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用可选标点符号识别数字序列_Regex - Fatal编程技术网

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

Regex 用可选标点符号识别数字序列,regex,Regex,我试图用一个正则表达式识别不同格式的帐号。以下是我需要检测的不同格式: 12-34-56-78-9 12-3456-78-9 123-456-789 1-23-45678-9 我们需要在9位数字之间检测“-”。但不知道“-”会出现在哪里。到目前为止,我正在为个别情况创建正则表达式并对其进行检测。是否有一个简单的正则表达式可以在一次快照中检测上述内容?这里,这是一个非常简单的模式: ^(?:\d-?){8}\d$ 它的简单意思是:查找一个数字(\d),可以选择后跟连字符(-?),连续查找8次

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

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

我们需要在9位数字之间检测“-”。但不知道“-”会出现在哪里。到目前为止,我正在为个别情况创建正则表达式并对其进行检测。是否有一个简单的正则表达式可以在一次快照中检测上述内容?

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

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


它的简单意思是:查找一个数字(
\d
),可以选择后跟连字符(
-?
),连续查找8次(
{8}
),然后查找最后一个数字(
\d
)。这可以防止连字符成为第一个或最后一个字符,还可以防止一行中出现两个连字符。

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

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


它的简单意思是:查找一个数字(
\d
),可以选择后跟连字符(
-?
),连续查找8次(
{8}
),然后查找最后一个数字(
\d
)。这可以防止连字符成为第一个或最后一个字符,还可以防止一行中出现两个连字符。

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

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


它的简单意思是:查找一个数字(
\d
),可以选择后跟连字符(
-?
),连续查找8次(
{8}
),然后查找最后一个数字(
\d
)。这可以防止连字符成为第一个或最后一个字符,还可以防止一行中出现两个连字符。

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

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


它的简单意思是:查找一个数字(
\d
),可以选择后跟连字符(
-?
),连续查找8次(
{8}
),然后查找最后一个数字(
\d
)。这可以防止连字符成为第一个或最后一个字符,还可以防止一行中出现两个连字符。

您需要确定使用的是哪种正则表达式方言。如果不指定其他要求,您将倾向于获得与PCRE兼容的答案。有关详细信息和其他指导,请参阅。您需要确定使用的是哪种正则表达式方言。如果不指定其他要求,您将倾向于获得与PCRE兼容的答案。有关详细信息和其他指导,请参阅。您需要确定使用的是哪种正则表达式方言。如果不指定其他要求,您将倾向于获得与PCRE兼容的答案。有关详细信息和其他指导,请参阅。您需要确定使用的是哪种正则表达式方言。如果不指定其他要求,您将倾向于获得与PCRE兼容的答案。有关详细信息和其他指南,请参阅。