检查带有不可预知分隔符的字符串中的单词

Check for word in string with unpredictable delimiters

我正在寻找比仅检查 if "word" in "check for word".

对于不可预测的字符串更可靠的东西

举个例子,假设我有以下句子:

"Learning Python!"

如果句子包含“Python”,我想评估为真,但如果是:

"Learning #python!"

使用 space 作为分隔符进行拆分会得到 ["learning", "#python"],它与 python.

不匹配

(注意:虽然我知道我可以删除这个特定案例的 #,但问题是 1. 我正在标记编程语言并且不想删除 #C# 和 2。这只是一个示例,我可以通过很多不同的方式来查看人工输入的标题,包括这些我仍然想捕捉的提示。)

我基本上想检查是否排除合理怀疑,我正在寻找的字符序列就在那里,尽管他们可能会以任何奇怪的方式提及它。有哪些方法可以做到这一点?我看过模糊搜索,但我还没有看到任何 use-cases 寻找单个词。

这里的最终目标是我有编程语言的标签,我想接收人们的流标题的标题,如果标题中提到语言,我想标记语言。

如果单词包含“python”,此代码将打印 True,忽略大小写。

import re

input = "Learning Python!"
print(re.search("python", input, re.IGNORECASE) is not None)