Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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
PHP中的preg_match或javascript中的类似函数_Javascript_Php_Preg Match - Fatal编程技术网

PHP中的preg_match或javascript中的类似函数

PHP中的preg_match或javascript中的类似函数,javascript,php,preg-match,Javascript,Php,Preg Match,我必须使用正则表达式来获取最后一个“/”字符串之后和“\u completed”字符串之前的文本 例如,如果我的输入是: http://localhost/project-1/uploaded_images/output//11-03-2013+11-09-2013/Brian_Brown_completed.jpg 我需要输出“Brian Brown”preg_match可以吗?不幸的是我想不出来!javascript在那里也可以吗 如果您需要更多的澄清,请让我知道 编辑: 请注意,在输出

我必须使用正则表达式来获取最后一个“/”字符串之后和“\u completed”字符串之前的文本

例如,如果我的输入是:

http://localhost/project-1/uploaded_images/output//11-03-2013+11-09-2013/Brian_Brown_completed.jpg 
我需要输出“Brian Brown”preg_match可以吗?不幸的是我想不出来!javascript在那里也可以吗

如果您需要更多的澄清,请让我知道

编辑:

请注意,在输出我没有下划线了

非常感谢,使用JavaScript


参考文献


如果可以接受非regexp解决方案:

<?php
$url = 'http://localhost/project-1/uploaded_images/output//11-03-2013+11-09-2013/Brian_Brown_completed.jpg';
$test = basename($url, '_completed.jpg');
PHP:

Javascript:

name = /.*\/(.*)_completed\.jpg$/.exec(input)[1].replace(/_/, ' ');
这应该做到:

$s = str_replace ("_", " ", substr ( $s, strrpos($s, "/")+1, strrpos($s, "_completed")-strrpos($s, "/")-1 )) ;

是的,这在PHP和Javascript中都是可能的。你试过什么没用的?我试过预赛,但我不知道如何通过模式!该模式作为第一个参数通过。但我不应该得到负分!:(我没有投反对票,但我敢打赌这是因为你的问题看起来你没有试图自己解决这个问题。这里有成千上万的问题,有使用
preg_match
的例子。谢谢你解决了我的问题;我只是在最后添加了split(“”)[0]来获得第一部分,然后再添加split(“”)[1]对于第二部分,要去掉中间的“u”Thanks@Pasargad欢迎乐意帮忙:)
preg_match('#.*/(.*)_completed\.jpg$#', $input, $match); // Find the name
$name = str_replace('_', ' ', $match[1]); // Convert underscores to spaces
name = /.*\/(.*)_completed\.jpg$/.exec(input)[1].replace(/_/, ' ');
$s = str_replace ("_", " ", substr ( $s, strrpos($s, "/")+1, strrpos($s, "_completed")-strrpos($s, "/")-1 )) ;