В отличие от preg_replace
preg_match
функция принимает первый аргумент в качестве регулярного выражения, которое необходимо сопоставить, второй аргумент в качестве строки, в которой применяется регулярное выражение для сопоставления, а третий аргумент - это переменная, в которой будут сохраняться совпадения.Для захвата 10
из 1-10 this is a text 1000 records.
вы можете использовать вхождение -
непосредственно перед цифрой, которую вы намереваетесь захватить, и можете написать такое регулярное выражение, как
-(\d+)
, которое в основном будет искатьдефис -
и будет захватывать любое число, имеющее 1 или более цифр в группе 1.В php вы можете получить к нему доступ вот так:
$s = "1-10 this is a text 1000 records.";
preg_match('/-(\d+)/', $s, $m);
print($m[1]); // m[0] will contain full match and m[1] will contain text matched by group1
Какие распечатки,
10