А вот с учётом 3-х запятых... Теоретически можно, но это будет либо две тернарки, либо 2 ИЛИ. Стоимость исполнения вырастет катастрофически. Может какие-то вариации комбинирования опережающих проверок с тернаркой, но тоже будет очень сложная конструкция.
Даже пытаться не стану - да уже за те варианты которые предложены выше надо отрывать руки - в продакшине такому не место.
Тебе и так огромное спасибо))) Я пока не вижу вариантов других с учетом криворукости контентщиков я не могу полагаться на сплит. На фоне остального алгоритма тут в принципе стоимость исполнения неважна, наоборот приходится замедлять, чтобы успело все прогрузиться. я и делал два разных регекспа и они работают, но твои варианты прям красота лаконичности, многому научился)
My bad)) Я убрал экоанирование точки - прочитал что в скобках оно не нужно, но после этого поломалось. И еще - этот паттерн подразумесает любые повторения слов - : word, word, Word word;
а можно сделать так чтоб не более 3-х слов попадало и только если кэпитал леттер? То есть:
New York, NY, USA ;- попало
New York, Florida, NY, USA; - не попало
new york, NY, usa; не попало
Голый сервак или уже с предустановкой?
Если кому-то нужна предустановка джанги, которая укладывается примерно в 5 команд - настоятельно бы рекомендовал сменить профессию, например на дворника...
Потому что примерно так:
- pip install django
admin createproject app
admin createapp app
споткнулось на таком :
"Note: Google’s hybrid workplace includes remote roles.
Remote location: Brazil."
Ну таки если нельзя полагаться на текст, то остаётся только пунктуация
https://regex101.com/r/KCVie5/1
Но при таком подходе сплит однозначно лучше регекспа.
Круто, похоже это то что надо. Натравлю на 2000 страниц, потом отпишусь о результатах
UPD:
Вот такую строку не смог разобрать:Note: By applying to this position you will have an opportunity to share your preferred working location from the following: New York, NY, USA; San Francisco, CA, USA.результат:By applying to this position you will have an opportunity to share your preferred working location from the following; New York, NY, USA; San Francisco, CA, USA
Я к сожалению не могу полагаться на "locations", нет гарантии что это скрипт а не контентщик) А в таком случае мне может прилететь "locations, lacations, lacotion" etc ))) Я вообще не могу на текст полагаться, только на шаблон, что будет что то типа [city, state, country[,;]], причем в словах могут быть точки и пробелы - Vashingthon D.C.
Ну или если мы гарантированно знаем, что "префикс" строки содержит "location.*:", то делать а-ля https://regex101.com/r/LCOGoA/1
Но сплитить группу всё-равно придётся. На условном php
я уже писал - сплиты не подходят, нужно вычленить только регуляркой. Мой вариант работает, но искал еще варианты
Selenium это не парсер, на нем можно написать парсер, но эта штука исключительно для погромистов. Но вещь крутая для тех кто понимает.
написал выше - вообще никак не решает. Не нужно советовать варианты инык, нужна регулярка в чистом виде, без привязок к языку
В Питоне это решается так -
office_location = " ".join(re.findall(r"[\b\w\s.]+,\s[\w\s.]+,\s[\w\s.]+[;.]", location)).strip()remote_location = " ".join(re.findall(r"\b\w{3,},\s\w+[;/.]", location))