带有php空格的正则表达式差异 p>我不能让这个正则表达式与PHP一起工作,特别是中间的空白,单独的值或单位匹配组将匹配。

带有php空格的正则表达式差异 p>我不能让这个正则表达式与PHP一起工作,特别是中间的空白,单独的值或单位匹配组将匹配。,php,regex,Php,Regex,正则表达式: /(?<value>\d+\.?\d*)(\p{Z}|\s)(?<unit>(meters|mm))/ 试试看,它不相配 试试看,效果很好 编辑:我似乎仍然没有在phpliveregex.com上工作 EDIT2:我已经编辑了要分析的字符串。除了上面的注释,我还将修改您的正则表达式,如下所示: (?<value>\d+(?:\.\d+)?)\h+(?<unit>(?:meters|mm)) (?\d+(?:\。\d+)\h+(

正则表达式:

/(?<value>\d+\.?\d*)(\p{Z}|\s)(?<unit>(meters|mm))/
试试看,它不相配

试试看,效果很好


编辑:我似乎仍然没有在phpliveregex.com上工作


EDIT2:我已经编辑了要分析的字符串。

除了上面的注释,我还将修改您的正则表达式,如下所示:

(?<value>\d+(?:\.\d+)?)\h+(?<unit>(?:meters|mm))
(?\d+(?:\。\d+)\h+(?(?:米|毫米))

除上述注释外,我还将修改您的正则表达式,如下所示:

(?<value>\d+(?:\.\d+)?)\h+(?<unit>(?:meters|mm))
(?\d+(?:\。\d+)\h+(?(?:米|毫米))

它在phpliveregex上也能很好地工作:phpliveregex对我来说工作得很好,但是你必须删除delimeters(它会添加delimeters,所以留下它们就可以得到重复的delimeters)。这是regex101在粘贴时自动执行的操作。似乎对我来说仍然不起作用,请参见OPit中的编辑和链接在phpliveregex上也很好:phpliveregex对我来说很好,但你必须删除delimeters(它添加了delimeters,因此保留它们可以获得重复项)。这是regex101在粘贴时自动执行的操作。仍然不适用于我,请参阅操作中的编辑和链接仍然不适用于我,请参阅操作中的编辑和链接单击原始帖子中的我的链接。它的空格有不同的字符代码。它不起作用。您已更改了空白字符。然后使用
/(?\d+(?:\。\d+)\pZ+(?(?:米|毫米))/iu
似乎对我仍然不起作用,请参阅操作中的编辑和链接单击原始帖子中的我的链接。它有一个不同的空格字符代码。它不起作用。您已更改了空格字符。然后使用
/(?\d+(?:\。\d+)\pZ+(?(?:米|毫米))/iu