import re

pattern = r'(\[tool\.poetry](?:\n(?!\[[^][]*]).*)*\nname = ")[^"\n]*(?=")'

s = ("[tool.poetry]\n"
            "version = \"0.1.0\"\n"
            "description = \"python is good\"\n"
            "name = \"template-python\"\n"
            "readme = \"README.md\"\n"
            "packages =[\n"
            "    {include=\"projectname\"}\n"
            "]\n\n"
            "[tool.poetry.dependencies]\n"
            "python = \">=3.11,<3.13\"\n\n\n"
            "[tool.poetry.group.test.dependencies]\n"
            "pytest = \"^8.0.0\"\n\n\n"
            "[tool.pytest.ini_options]\n"
            "pythonpath = \".\"\n"
            "addopts = [\"-v\", \"-s\", \"--import-mode=importlib\"]\n"
            "name = \"hello\"")

result = re.sub(pattern, r"\1nameofproject", s)
print(result)