import re
regex = re.compile(r"^(到|去)?#的?((旅游|游玩)?(攻略|景区|风景区|景点|地方|地点|地|周边游)|旅游|玩)$", flags=re.MULTILINE)
test_str = ("\n"
"#怎么玩\n"
"#有哪里好玩的\n"
"#有哪里好玩\n"
"#什么好玩的\n"
"#哪儿好玩\n"
"#什么好玩的地方\n"
"#有什么好玩的\n"
"#有哪好玩的\n"
"#都有什么好玩的\n"
"#有什么好地方\n"
"#啥好玩的\n"
"#有什么可玩的\n"
"#有什么好玩的地\n"
"#有啥可玩的\n"
"#有哪好玩\n"
"#什么景点\n"
"#有什么好玩的呀\n"
"#有什么好玩\n"
"#有哪些好玩的\n"
"#有哪里好玩的地方\n"
"#有啥好玩的没\n"
"#都有哪些好玩的\n"
"#有什么风景区\n"
"#有什么好景点\n"
"#有什么好玩的阿\n"
"#有哪里好玩呀\n"
"#有什么好玩的地儿\n"
"#有什么地方去\n"
"#有什么好玩的没\n"
"#有啥好玩的不\n"
"#哪儿好玩儿\n"
"#有什么可玩儿的\n"
"#哪儿好玩呀\n"
"#有啥好玩的地方\n"
"#什么好玩的呀\n"
"#有什么好玩的地方\n"
"#有啥子好玩的\n"
"#什么好玩儿的\n"
"#都有什么景点\n"
"去#有什么好玩的地方\n"
"我想去#有什么好玩儿的\n"
"去#有什么好玩的呀\n"
"去#有什么好玩\n\n\n"
"去#旅游怎么样\n"
"去#玩什么\n"
"去#玩\n"
"去#玩怎么样\n"
"#去哪里好玩\n"
"#有什么玩的\n"
"#有好玩的么\n"
"#什么地方好玩\n"
"#攻略有吗\n"
"#好玩的地方有哪些\n\n"
"去#的攻略\n"
"#风景区\n"
"去#旅游\n"
"#周边游\n"
"#游玩攻略\n\n\n"
"#有什么可玩的\n")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html