Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
Regex 正则表达式匹配错误的值_Regex - Fatal编程技术网

Regex 正则表达式匹配错误的值

Regex 正则表达式匹配错误的值,regex,Regex,你好,, 我的正则表达式应该匹配: 5 40.33 23.50/x4:50.22 11/x2:50/x4:68/x6:102.48 我试着描述。。。有无限个块,以“/”分隔。第一个块始终只是一个浮点值。所有其他块都以“x[0-9]+:”开头,然后是浮点值 但我的正则表达式也匹配: /^(?:(?:x[0-9]{1,3}:[0-9]+(?:\.?[0-9]{1,2})?)|(?:[0-9]+(?:.[0-9]{1,2})?))(?:\/x[0-9]{1,3}:[0-9]+(?:\.?[0-9]{1

你好,, 我的正则表达式应该匹配:

5
40.33
23.50/x4:50.22
11/x2:50/x4:68/x6:102.48

我试着描述。。。有无限个块,以“/”分隔。第一个块始终只是一个浮点值。所有其他块都以“x[0-9]+:”开头,然后是浮点值

但我的正则表达式也匹配:

/^(?:(?:x[0-9]{1,3}:[0-9]+(?:\.?[0-9]{1,2})?)|(?:[0-9]+(?:.[0-9]{1,2})?))(?:\/x[0-9]{1,3}:[0-9]+(?:\.?[0-9]{1,2})?)*$/

由于
(?:(?:x[0-9]{1,3}:[0-9]+(?:\.?[0-9]{1,2})|(?:[0-9]+(?:[0-9]{1,2}),(?:[0-9]+(?:[0-9]{1,2})
)匹配。你忘了转义
(?:[0-9]
。该点与除换行符以外的任何字符都匹配。

你能给出更多应该和不应该匹配的例子吗?
40/50
是匹配的,因为
(?:(?:x[0-9]{1,3}:[0-9]+(?:\.[0-9]{1,2}));(?:[0-9]+(?:[0-9]{1,2})你忘了转义
。[0-9]
。点与除换行符以外的任何字符都匹配。是的,“5”和“40.33”应该匹配。哦,就是这样。非常感谢@Wiktor
40/50