Я пытаюсь выяснить, как получить последнее слово строки. Однако персонаж, который пытается совместить его, не всегда одинаковый. Например
This is a file (USA) -LastWord
This is another file (EUR) ~LastWord
This is another different file (JPN) LastWord
Как я могу соответствовать этому? Я всегда хочу просто вернуть "LastWord"
Я предлагаю использовать:
/\b\w+(?=\W*$)/m
Это будет соответствовать последнему слову, за которым следует 0 или более символов, отличных от слова, например, периода. (См. Демонстрацию)
Вы можете попробовать следующее регулярное выражение, чтобы получить последнее слово.
\w+$
$
соответствует концу строки. \w+
соответствует одному или нескольким символам слов. Добавьте многострочный модификатор m
всякий раз, когда используются привязки.
$re = "/\\w+$/m";
$str = "This is a file (USA) -LastWord\nThis is another file (EUR) ~LastWord\nThis is another different file (JPN) LastWord";
preg_match_all($re, $str, $matches);
$
- конец строки, а \w
- группа az
, +
- один или несколько символов, вам не хватает модификатора i