C# 允许在字符串中间输入一些字符

C# 允许在字符串中间输入一些字符,c#,regex,C#,Regex,我应该在正则表达式代码中添加什么表达式来允许字符串中间有字符?谢谢你: 此正则表达式用于数字输入 此有效输入示例: 1000000.0xxx很难猜出这里需要什么,但我猜您希望传递十进制数和正十进制范围,这些表达式可能需要研究,可能: ^(?:-?\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2}(?:-(?:\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2})?$ 并且可能会在一些意想不到的情况下失败 如果您希望探索/简化/修改该表达式,它已被删除 在的

我应该在正则表达式代码中添加什么表达式来允许字符串中间有字符?谢谢你: 此正则表达式用于数字输入

此有效输入示例:
1000000.0xxx很难猜出这里需要什么,但我猜您希望传递十进制数和正十进制范围,这些表达式可能需要研究,可能:

^(?:-?\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2}(?:-(?:\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2})?$
并且可能会在一些意想不到的情况下失败

如果您希望探索/简化/修改该表达式,它已被删除 在的右上面板上进行了说明 . 如果你愿意,你可以 也可以观看,它将如何匹配 对照一些样本输入

测验 正则表达式电路 可视化正则表达式:


好的,希望你能帮忙还是很困惑!!您是否需要正数和负数正则表达式..范围数输入ex:2.00-2.50如果太复杂,我建议您使用2 if语句。1是匹配数字,2是else如果匹配范围数字end else是警报错误的数字,这是更简单的代码,我可以开发一些其他条件的新的一个。这对我真的很有帮助,非常感谢。
^(?:-?\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2}$|^(?:-?\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2}-(?:\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2}$
using System;
using System.Text.RegularExpressions;

public class Example
{
    public static void Main()
    {
        string pattern = @"^(?:-?\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2}(?:-(?:\d{1,3},?)?(?:\d{3},?)*\.[0-9]{1,2})?$";
        string input = @"1,000,000.0
-1,000,000.0
100,000,000.0
-1,000,000,000,000.0
1.00-2.00
1.00

1
11
123
0

.00,00
-5,000000";
        RegexOptions options = RegexOptions.Multiline;

        foreach (Match m in Regex.Matches(input, pattern, options))
        {
            Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
        }
    }
}