Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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
将Ruby正则表达式转换为php/perl正则表达式_Php_Ruby_Regex_Preg Match All - Fatal编程技术网

将Ruby正则表达式转换为php/perl正则表达式

将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?[[\(\

我制作了这个正则表达式,它在Ruby中运行良好:

/(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是的。有时你会被自己的代码蒙蔽了双眼。每个人都会这样:)