Это должно работать, если вы используете его с методом String.matches
. Я предполагаю, что вам нужен английский алфавит.
"[a-zA-Z]+(\\s+[a-zA-Z]+)*"
Обратите внимание, что \s
позволит использовать все типы пробельных символов. В Java это будет эквивалентно
[ \t\n\x0B\f\r]
, который включает в себя горизонтальную вкладку (09), подачу строки (10), возврат каретки (13), подачу формы (12), обратное пространство (08), пробел (32).
Если вы хотите специально разрешить только пробел (32):
"[a-zA-Z]+( +[a-zA-Z]+)*"
Вы можете дополнительно оптимизировать регулярное выражение выше, сделав захват group ( +[a-zA-Z]+)
не захватывает (с String.matches
вы не сможете получить слова отдельно). Также возможно изменить кванторы, чтобы сделать их притяжательными , так как здесь нет точки в обратном следе.
"[a-zA-Z]++(?: ++[a-zA-Z]++)*+"
На основании комментария @Md Махфузура Рахмана вы можете получить все данные без использования BeautifulSoup
:
import requests
response = requests.get('http://acfarma.com.br/wp-content/plugins/entrefarma-map/json_formatter.json').json()
for r in response:
print(r)
Вывод:
{'id': '159', 'endereco': 'AVENIDA PRESIDENTE DUTRA', 'numero': '18', 'complemento': '', 'bairro': 'CENTRO', 'cep': '88860-000', 'cidade': 'Siderópolis', 'estado': 'SC', 'ddd': '48', 'telefone': '3435-3692', 'email': 'drogasider@acfarma.com.br', 'latitude': '-28.5994988', 'longitude': '-49.42558963', 'nome': 'DROGASIDER COMERCIO DE MEDICAMENTOS E MANIPULACAO LTDA - ME - MATRIZ', 'descricao': '', 'tags': '', 'autor': ''}
и т. Д. [ 1110]
Или, если вы ищете отфильтрованные данные, например, cidade=Nova Veneza
и bairro=CENTRO
затем:
import requests
response = requests.get('http://acfarma.com.br/wp-content/plugins/entrefarma-map/json_formatter.json').json()
for r in response:
if r['cidade'] == 'Nova Veneza' and r['bairro'] == 'CENTRO':
print(r)
Выход:
{'id': '167', 'endereco': 'RUA CONEGO MIGUEL GIACA', 'numero': '14', 'complemento': '', 'bairro': 'CENTRO', 'cep': '88865-000', 'cidade': 'Nova Veneza', 'estado': 'SC', 'ddd': '48', 'telefone': '3436-2045', 'email': 'veneza@acfarma.com.br', 'latitude': '-28.6647154', 'longitude': '-49.4729414', 'nome': 'FARMACIA DUMINELLI E GORINI LTDA ME', 'descricao': '', 'tags': '', 'autor': ''}
{'id': '168', 'endereco': 'RUA DOS IMIGRANTES', 'numero': '357', 'complemento': 'EDIFICIO BISTEK', 'bairro': 'CENTRO', 'cep': '88865-000', 'cidade': 'Nova Veneza', 'estado': 'SC', 'ddd': '48', 'telefone': '3436-1347', 'email': 'gorini@acfarma.com.br', 'latitude': '-28.6370762', 'longitude': '-49.5055401', 'nome': 'FARMACIA GORINI LTDA ME', 'descricao': '', 'tags': '', 'autor': ''}