Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查字符串中是否有不可预测的分隔符_Python_Python 3.x_Fuzzy Search - Fatal编程技术网

Python 检查字符串中是否有不可预测的分隔符

Python 检查字符串中是否有不可预测的分隔符,python,python-3.x,fuzzy-search,Python,Python 3.x,Fuzzy Search,我正在寻找比在“check for word”中只检查if“word”更可靠的不可预测字符串 举个例子,假设我有以下句子: "Learning Python!" 如果句子包含“Python”,我想计算为true,但如果是: "Learning #python!" 使用空格作为分隔符进行拆分会给我带来与python不匹配的[“learning”,“#python”] (注意:虽然我确实理解我可以删除这个特殊情况下的,但问题是1.我正在标记编程语言,不想去

我正在寻找比在“check for word”中只检查
if“word”更可靠的不可预测字符串

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

"Learning Python!"
如果句子包含“Python”,我想计算为true,但如果是:

"Learning #python!"
使用空格作为分隔符进行拆分会给我带来与python不匹配的
[“learning”,“#python”]

(注意:虽然我确实理解我可以删除这个特殊情况下的
,但问题是1.我正在标记编程语言,不想去掉
中的
,2.这只是一个示例,我可以通过很多不同的方式看到人类键入的标题,包括这些提示。)这是我仍然想抓住的。)

基本上,我想检查一下,我正在寻找的字符序列是否存在,尽管他们可能会以任何奇怪的方式提到它。有哪些方法可以做到这一点?我已经看过一些模糊搜索,但我没有看到任何查找单个词的使用案例


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

这段代码打印
True
如果这个词包含“python”,忽略大小写

重新导入
input=“学习Python!”
print(re.search(“python”,input,re.IGNORECASE)不是None)

这不是一个简单的正则表达式问题吗?我的意思是,正则表达式不符合你的要求吗?@Sraw是的,看起来是这样,但正则表达式是一个巨大的弱点,我需要了解更多,因为我只真正使用它进行验证,而不是字符串匹配,所以我忘记了它的功能。只是指出,提取特定单词用法的含义是一个超级复杂的过程总的来说,这是一个很难解决的问题,特别是在出现口语或拼写错误时。我记得我的一位有语言障碍的朋友在编写另一批java时用一个很强的lisp告诉我,当时他正在用python编写一个bash,因为它试图缠绕他亲爱的妻子julia。
re.search()
看起来是个不错的选择,谢谢!为测试制作了一个repl,它似乎与我能想到的所有情况都匹配。我想我应该提到。字符串作为
re.search()中的第一个参数传递
是正则表达式,因此某些字符必须用\.转义。例如,
+
需要用
\+
转义。我确实遇到了这个问题,并且能够用
重新转义(“c+”)进行纠正
适用于未来可能会出现多次重复错误的读者。感谢您的帮助,Robert,通过这个答案,我们能够很好地实现此实现。