извлечь первые N цифр из строки с регулярным выражением

Я пытаюсь очистить некоторые данные, у которых есть N цифр в начале строки, а некоторые – в остальной части. Мне нужно извлечь только первые N цифр.

Вот пример строки

1410{{data}} est un program56me de lв556Ђ™ 122 datadatadata5654df sdfs989 123datadatadata5654df sdfs989 

Мне нужно как результат получить

 1410,122,123 

Как насчет:

 $str = preg_replace('/^(\d+).*$/', "$1", $str); 

Попробуйте использовать это регулярное выражение:

 ^([0-9]+)? 

используя команду preg_match .

Он будет указывать последовательные цифровые последовательности в начале строки. 🙂

Пример :

 function getInitial($line) { $regex = "^([0-9]+)?"; preg_match($regex, $line, $match); return $match[1]; } 

Это должно сделать трюк: ^(\d+) . Он будет инструктировать движок регулярного выражения начинать с начала строки, сопоставлять одну или несколько цифр и помещать их в группу. Любые другие символы будут проигнорированы.

Насколько я понимаю, вам нужно как минимум N цифр в начале каждой строки:

 preg_match_all("/^(\d{3,})/m", $text, $matches, PREG_SET_ORDER); print_r($matches); 

одним возможным регулярным выражением может быть # # (\ d +) # ': в дополнение к php-функции preg_match('#^(\d+)#',$string,$param); $ param [1] вернет эти числа