Я ищу способ сопоставить второе последнее слово в строке, например:

123 Smith St Melbourne VIC 3000

Я хотел бы соответствовать просто " VIC ". У кого-нибудь есть регулярное выражение, которое я могу использовать?

1 ответ1

0

В зависимости от того, что "слово" для вас, вы можете использовать:

  • Слово состоит из 1 или более символов, которые не являются пробелами
    • \S+(?=\h+\S+$) будет соответствовать 1 или более не пробел, за которым следует 1 или более горизонтальный пробел, затем 1 или более не пробел
  • Слово состоит из 1 или более буквенных символов
    • [a-zA-Z]+(?=\h+[a-zA-Z]+$)
  • Слово состоит из 1 или более буквенно-цифровых символов
    • [a-zA-Z0-9]+(?=\h+[a-zA-Z0-9]+$)
  • Слово - это 1 или более букв на любом языке.
    • \pL+(?=\h+\pL+$)
  • Слово - это 1 или более букв или цифр на любом языке.
    • [\pL\pN]+(?=\h+[\pL\pN]+$)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .