自定义正则表达式

本文关键字:正则表达式 自定义 | 更新日期: 2023-09-27 18:20:07

嗨,我需要匹配这种格式的

N - Number
NN,NN

NN.NN

还有

N,N and N.N

和组合

N.NN and N,NN or NN,N and NN.N

自定义正则表达式

这是您的正则表达式:

'd{1,2}[.,]'d{1,2}

请参阅此处的操作:http://regexr.com?2vman


这是一个略有不同的版本:

'd'd?[.,]'d'd?

请参阅此处的操作:http://regexr.com?2vmaq


如果你还想匹配出一个十进制,使用这个:

    'd'd?[.,]?'d{0,2}

请参阅此处的操作:http://regexr.com?2vml4

怎么样:

'd{1,2}(?:[.,]'d{1,2})?

解释:

'd{1,2}   : one or two digits
(?:       : start non capture group
  [.,]    : . or ,
  'd{1,2} : one or two digits
)?        : end group, optional

为什么匹配它?

只需删除逗号并使用实际数字:

Regex.Replace("8,675,309.02", "(,)", string.Empty) // Outputs 8675309.02

如果这是一个验证场景,那么使用int.Parse会让您知道它是否有效。

我会选择这样的东西:

Regex regex = new Regex(@"'d{1,2}['.,]'d{1,2}");