Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
.NET正则表达式-需要匹配字符串进行分析_.net_Regex - Fatal编程技术网

.NET正则表达式-需要匹配字符串进行分析

.NET正则表达式-需要匹配字符串进行分析,.net,regex,.net,Regex,我是一个regex白痴,从来没有找到好的教程(欢迎链接,以及指向交互式VS2010集成编辑器的指针) 我需要以以下形式解析字符串: [a/b]:c/d a, b: double with "." as possible separator. CAN be empty c: double with "." as separator d: integer, positive 即,有效字符串为: [/]:0.25/2 [-0.5/0.5]:0.05/2 [/0.1]:0.05/2 )()有人能帮

我是一个regex白痴,从来没有找到好的教程(欢迎链接,以及指向交互式VS2010集成编辑器的指针)

我需要以以下形式解析字符串:

[a/b]:c/d

a, b: double with "." as possible separator. CAN be empty
c: double with "." as separator
d: integer, positive
即,有效字符串为:

[/]:0.25/2
[-0.5/0.5]:0.05/2
[/0.1]:0.05/2
)()有人能帮忙吗

谢谢

捕获其自己组中的每个数字

这假设双精度值不包含小数部分是合法的。如果不是,您可以使用

^\[(-?\d+\.\d+)?/(-?\d+\.\d+)?\]:(-?\d+\.\d+)/(\d+)$
捕获其自己组中的每个数字

这假设双精度值不包含小数部分是合法的。如果不是,您可以使用

^\[(-?\d+\.\d+)?/(-?\d+\.\d+)?\]:(-?\d+\.\d+)/(\d+)$

Visual Studio库中有一个正则表达式编辑器:

它并不广为人知,但可以在正则表达式中添加空格和注释。这可以使这样的正则表达式更具可读性。以下是一个基于客户第一个答案的示例:

var regex = @"(?x:
    ^                   # Anchor to start of string
    \[                  # [
        (-?\d+\.?\d+?)? # a - double
    /                   # /
        (-?\d+\.?\d+?)? # b - double
    \]                  # ]
    :                   # Literal colon character
        (-?\d+\.?\d+?)  # c - double
    /                   # /
        (\d+)           # d - integer
    $                   # Anchor to end of string
)";

Visual Studio库中有一个正则表达式编辑器:

它并不广为人知,但可以在正则表达式中添加空格和注释。这可以使这样的正则表达式更具可读性。以下是一个基于客户第一个答案的示例:

var regex = @"(?x:
    ^                   # Anchor to start of string
    \[                  # [
        (-?\d+\.?\d+?)? # a - double
    /                   # /
        (-?\d+\.?\d+?)? # b - double
    \]                  # ]
    :                   # Literal colon character
        (-?\d+\.?\d+?)  # c - double
    /                   # /
        (\d+)           # d - integer
    $                   # Anchor to end of string
)";

只能选择一个答案作为答案;)感谢您提供的代码示例。很遗憾,您只能选择一个答案作为答案;)谢谢你的代码示例。