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
C# 正则表达式解析数字组_C#_Regex - Fatal编程技术网

C# 正则表达式解析数字组

C# 正则表达式解析数字组,c#,regex,C#,Regex,我所拥有的: 1. 25686-47362-04822-08149-48999-28161-15124-63556 2. 25686-47362-04822-08149-48999-28161-15124-6355654534 3. 54354325686-47362-04822-08149-48999-28161-15124-63556 4. 25686-47362-04822-08149-48999-28161-15124-6355654534fds 5. fdsfds5435432

我所拥有的:

1. 25686-47362-04822-08149-48999-28161-15124-63556

2. 25686-47362-04822-08149-48999-28161-15124-6355654534

3. 54354325686-47362-04822-08149-48999-28161-15124-63556

4. 25686-47362-04822-08149-48999-28161-15124-6355654534fds

5. fdsfds54354325686-47362-04822-08149-48999-28161-15124-63556

6. 25686-47362-04822-08149-48999-28161-15124-63556-63556
我期望得到什么

1. 25686-47362-04822-08149-48999-28161-15124-63556
我尝试了一些最接近的
([0-9]{5,5}){8}


我试图避免2,3,4,5,6。我不确定是否有办法让它“重复”分组,但我会这样键入:

/^([0-9]{5}\-[0-9]{5}\-[0-9]{5}\-[0-9]{5}\-[0-9]{5}\-[0-9]{5}\-[0-9]{5}\-[0-9]{5})/
您可以使用以下选项:

^\d+\.\s(\d{5}-?){8}$
它匹配一整行符合您的条件:一个数字或更多、一个点、一个空格、8个块或5个带连字符的数字。

试试这个

  string source = @"25686-47362-04822-08149-48999-28161-15124-63556";

  bool result = Regex.IsMatch(source, "^[0-9]{5}(-[0-9]{5}){7}$");
说明:

  ^               anchor (beginning of the string)
  [0-9]{5}        5 digits group
  (-[0-9]{5}){7}  7 more groups of 5 digits
  $               anchor (ending of the string)

您可以通过以下方式限定该行:

/^((?:\D|^)\d{5}){8}$/m 


更具体地说,使用连字符分隔符。

源是什么?字符串还是文件?什么是环境?Perl、Grep、Python、Javascript、Vim?
-25686-47362-04822-08149-48999-28161-15124-63556
,请注意将匹配的开始
-
,但OP没有指定额外的
-
是一个选项。。。不清楚这是否是一个问题。很好,迪玛,这是正确的风格。尽可能展开表达式,并将量化组保留在表达式末尾。
/^((?:-|^)\d{5}){8}$/m