C# 如何编写正则表达式来匹配一组值?

C# 如何编写正则表达式来匹配一组值?,c#,regex,C#,Regex,我想检查我的字符串是否包含以下值: 对于样品: 4850324810111981066060 50104810111981066060 我的情况是 48-57(1 or more time)32(or)10(or)13(then)48(then)32(or)10(or)13(then)111981066060 问题:如何为上述条件编写正则表达式。括号表示出现。签出-它允许您构建和测试正则表达式,并立即为您创建一个C代码片段或.NET程序集。强烈推荐 签出-它允许您构建和测试正则表达式,

我想检查我的字符串是否包含以下值:

对于样品:

  • 4850324810111981066060
  • 50104810111981066060
我的情况是

48-57(1 or more time)32(or)10(or)13(then)48(then)32(or)10(or)13(then)111981066060  
问题:如何为上述条件编写正则表达式。括号表示出现。

签出-它允许您构建和测试正则表达式,并立即为您创建一个C代码片段或.NET程序集。强烈推荐

签出-它允许您构建和测试正则表达式,并立即为您创建C#代码片段或.NET程序集。强烈推荐

(4[8-9]| 5[0-7])+(32 | 10 | 13)48(32 | 10 | 13)111981066060
(4[8-9]| 5[0-7])+(32 | 10 | 13)48(32 | 10 | 13)111981066060

Regex regex = new Regex(@"(?:4[89]|5[0-7])+(?:32|10|13)48(?:32|10|13)111981066060");
regex.Match(string);
但是我没有测试


但是我没有测试

您可以使用

在线测试.NET中的正则表达式。您可以使用

在线测试.NET中的正则表达式:

(48|49|50|51|52|53|54|55|56|57)+(32|10|13)48(32|10|13)111981066060
编辑:刚刚看到,这真的可以缩短为

(4[89]|5[0-7])+(32|10|13)48(32|10|13)111981066060
hos和mine方法的唯一区别在于:他不保留分组信息(因为这不是必需的),我也不想忽略它们。

这是:

(48|49|50|51|52|53|54|55|56|57)+(32|10|13)48(32|10|13)111981066060
编辑:刚刚看到,这真的可以缩短为

(4[89]|5[0-7])+(32|10|13)48(32|10|13)111981066060

hos和mine方法的唯一区别在于:他不保留分组信息(因为这不是必需的),我也不想忽略它们。

您可以从以下内容开始,看看是否需要预留资金

(4[89]|5[0-7])+(32|10|13)48(32|10|13)111981066060

最好分成多个字段,并根据业务逻辑检查这些字段,而不是像上面那样依赖静态regexp。

您可以从以下内容开始,看看是否需要进行预留

(4[89]|5[0-7])+(32|10|13)48(32|10|13)111981066060

最好分成多个字段,对照业务逻辑检查这些字段,而不是像上面那样依赖静态regexp。

您能提供一些示例吗?您的regex匹配或不匹配的是什么?因为您经常有32、10和13个字符,这些不是ASCII字符码,对吗?你能提供一些例子吗?你的正则表达式会匹配还是不匹配?因为你经常有32、10和13个字符,这些不是ASCII字符码,对吗?