PHP Regex, получить последнее слово после разных символов

0

Я пытаюсь выяснить, как получить последнее слово строки. Однако персонаж, который пытается совместить его, не всегда одинаковый. Например

This is a file (USA) -LastWord
This is another file (EUR) ~LastWord
This is another different file (JPN) LastWord

Как я могу соответствовать этому? Я всегда хочу просто вернуть "LastWord"

Теги:

2 ответа

4
Лучший ответ

Я предлагаю использовать:

/\b\w+(?=\W*$)/m

Демо-версия RegEx

Это будет соответствовать последнему слову, за которым следует 0 или более символов, отличных от слова, например, периода. (См. Демонстрацию)

  • 1
    Ах, хорошо! это работает даже лучше. Спасибо.
  • 0
    Пожалуйста, рад, что это сработало.
1

Вы можете попробовать следующее регулярное выражение, чтобы получить последнее слово.

\w+$

$ соответствует концу строки. \w+ соответствует одному или нескольким символам слов. Добавьте многострочный модификатор m всякий раз, когда используются привязки.

DEMO

$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);
  • 0
    Кажется, не возвращает никаких результатов.
  • 0
    объяснение того, что $ - конец строки, а \w - группа az , + - один или несколько символов, вам не хватает модификатора i
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню