Я хочу сопоставить число, помещенное в конце строки или, возможно, в середине.
Примером будет:
"chapter some word 12 or IV" or "chapter some word 12 or IV some word"
число, которое я хочу извлечь, это " 12 " или IV из строки.
Я пытался осмотреться с помощью ?:\w*
или ?=\w*
, но это не сработало.
Мое регулярное выражение:
if (preg_match('/ch\w*\s*\K(?|(?=((?<=|\s)\d+(?:\.\d+)?))|(?=([ivx]+(?![a-z]))))/i', $string, $matches)){
print_r($matches);
}
Я что-то упустил с помощью регулярного выражения? Любые указатели в правильном направлении будут оценены.