Код: Выделить всё
from typing import Annotated
import uvicorn
from fastapi import FastAPI, Query
from pydantic import constr
app = FastAPI()
@app.get("search")
async def search(
partner_ids: Annotated[
constr(pattern="((^|[,])[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12})+"),
Query(),
] = "ca930bc7-f4cf-4b10-9c6f-7db13b6ab4f0",
):
pass
if __name__ == "__main__":
uvicorn.run("uuid_list:app", reload=True, port=8004)
В то же время regex101 находит uuid:

Что не так с FastAPI?
Обновление. Регулярное выражение предназначено для списка uuids, разделенных запятыми.
Подробнее здесь: https://stackoverflow.com/questions/790 ... gex101-can