使用PHP获取数字之间的字符串

使用PHP获取数字之间的字符串,php,Php,如何调整下面的函数以获得数字之间的字符串 功能: function getInbetweenStrings($start, $end, $str){ $matches = array(); $regex = "/$start([a-zA-Z0-9_]*)$end/"; preg_match_all($regex, $str, $matches); return $matches[1]; } 例如: 1448459casa48912687 010697046a-pa

如何调整下面的函数以获得数字之间的字符串

功能:

function getInbetweenStrings($start, $end, $str){
    $matches = array();
    $regex = "/$start([a-zA-Z0-9_]*)$end/";
    preg_match_all($regex, $str, $matches);
   return $matches[1];
}
例如:

1448459casa48912687
010697046a-parede-verde698012
456902sim-senhora4401254
预期产出:

casa
a-parede-verde
sim-senhora
多谢各位。
@编辑:我不想删除所有数字,我需要它们!我只想在两者之间抓住字符串。

如果字符串不同(即:[foo]&[/foo])


您可以使用此正则表达式,它查找起始位和尾随位之间的最小字符序列(通过将
添加到
*
):

^\d+(.*?)\d+$
在PHP中:

$strings = array('1448459casa48912687',
                 '010697046a-parede-verde698012',
                 '456902sim-senhora4401254',
                 '12345number10-downing-street54321');

foreach ($strings as $string) {
    $between = preg_replace('/^\d+(.*?)\d+$/', '$1', $string);
    echo "$between\n";
}
输出:

casa
a-parede-verde 
sim-senhora
number10-downing-street

对不起,我不想删除所有号码,我需要它们!我只想在两者之间抓住字符串。如果出现类似于
12345number10-downing-street54321
?@CD001只能检测第一个数字和最后一个数字,会发生什么情况?这种情况下中间的数字属于字符串。对不起,我不想删除所有数字,我需要它们!我只想在两个数字之间抓取字符串。数字总是会变化的,我需要一种方法来抓取仍然在变化的数字之间的字符串,当您应该使用
preg\u replace('/^\d+(.*?\d+$/','$1',$fullstring)
时,它将抓取我希望的数字之间的文本
casa
a-parede-verde 
sim-senhora
number10-downing-street