У меня есть этот образец адрес:PHP: Regex для получения направления в адрес
405 W 1st Street Юго-запад # 910
И я это выражение регулярное выражение для извлечения возможности адрес, который имеет слово Север, Юг, Запад, Восток, Северо-восток, северо-запад, юго-восток, Юго-Запад:
preg_match_all("/(?:(?:north|south)(?:[ ](?:east|west))?|east|west)/i", $address, $match);
Теперь, если мы посмотрим на строку адреса выше, «W» считается s West, так что могут быть даже N, S, NW, NE, SE, SW, E, W. Поэтому нам также нужно их извлечь.
Я не слишком хорошо разбираюсь в регулярных выражениях, надеюсь, что вы могли бы помочь? Благодаря!
не знаю, что именно вам нужно, но попробуйте [ ' '~ \ б (?: Север | юг)? (: \ Ч * (?: восток | запад)) \ б | \ б (?:? восток | запад | [NS] [WE] | [EW]) \ б ~ i''] (https://regex101.com/r/rG0cH6/2). –
Я бы пошел с ответом @ WiktorStribiżew. Обновлено на [версия 3] (https://regex101.com/r/rG0cH6/3), чтобы содержать еще несколько случаев (вещи, которые должны полностью соответствовать, вещи, которые должны частично совпадать, вещи, которые не должны совпадать). – OnlineCop