将Ruby正则表达式转换为php/perl正则表达式
我制作了这个正则表达式,它在Ruby中运行良好:将Ruby正则表达式转换为php/perl正则表达式,php,ruby,regex,preg-match-all,Php,Ruby,Regex,Preg Match All,我制作了这个正则表达式,它在Ruby中运行良好: /(1?[[\(\s\.-]]\d{3}\)?[\s\.-]\d{3}[\s\.-]\d{4}(\z[^\d])?)/ 它用于从文本文档中提取电话号码,但现在我在PHP中使用相同的表达式,使用preg\u match\u all。现在,相同的表达式给了我一个空数组。 我不明白为什么会这样 我需要对这个表达式做什么修改才能使它在PHP中工作?您的Regexp中有一个奇怪的错误。我认为这部分是幸运的,因为它在Rubular上工作: (1?[[\(\
/(1?[[\(\s\.-]]\d{3}\)?[\s\.-]\d{3}[\s\.-]\d{4}(\z[^\d])?)/
它用于从文本文档中提取电话号码,但现在我在PHP中使用相同的表达式,使用preg\u match\u all
。现在,相同的表达式给了我一个空数组。我不明白为什么会这样
我需要对这个表达式做什么修改才能使它在PHP中工作?您的Regexp中有一个奇怪的错误。我认为这部分是幸运的,因为它在Rubular上工作:
(1?[[\(\s\.-]]\d{3}\)?[\s\.-]\d{3}[\s\.-]\d{4}(\z[^\d])?)
^ ^
为什么这些括号有两次
看到这里的工作版本,我刚刚删除了这些。现在可以很好地使用PHP:
您的Regexp中有一个奇怪的错误。我认为这部分是幸运的,因为它在Rubular上工作:
(1?[[\(\s\.-]]\d{3}\)?[\s\.-]\d{3}[\s\.-]\d{4}(\z[^\d])?)
^ ^
为什么这些括号有两次
看到这里的工作版本,我刚刚删除了这些。现在可以很好地使用PHP:
请在问题中添加一些示例输入数字。我同意@Casper。在提问时,您需要提供测试数据并显示预期结果的示例。请在问题中添加一些示例输入数字。我同意@Casper。当你提问时,你需要提供测试数据并展示预期结果的例子。你真的有一双非常棒的鸟眼。这非常好。事实上,不仅在rubular,ruby也进展顺利。所以这就是我无法看到括号的原因:P非常感谢。@vivekporwal04是的。有时你会被自己的代码蒙蔽了双眼。每个人都会遇到这种情况:)你真的有一双非常棒的鸟眼。这非常好。事实上,不仅仅是在rubular,它在ruby中的表现也很好。所以这就是我无法看到括号的原因:P非常感谢。@vivekporwal04是的。有时你会被自己的代码蒙蔽了双眼。每个人都会这样:)