Если вам просто нужно сопоставить последние два слова в строке, вы можете использовать это регулярное выражение:
\b\w+\s+\w+$
Это будет соответствовать тому, что написано: граница слова, какое-то непустое слово, несколько пробелов, затем другое слово, за которым следует конец якоря строки.
<?php
$text = "7, Royal Parade, Chislehurst, Kent BR7 6NR";
$result = preg_match("/\\b\\w+\\s+\\w+$/", $text, $matches);
print_r($matches);
?>
Это печатает :
Array
(
[0] => BR7 6NR
)
Вы также можете сделать регулярное выражение более устойчивым, разрешив необязательные конечные пробелы после последнего слова \s*
и т. Д., Но использование $
является основной идеей.