正则表达式中双引号的搜索词
def key_found(key, sentence): # Checks for key in sentence.
search_string = r'\b' + key + r'\b'
match_found = re.search(search_string, sentence, re.IGNORECASE)
if match_found is None:
return False
else:
return True
key = '20"x30"'
sentence = '1 Unit Lace Borders Tissue Paper 20"x30" Half Ream Recycled Unit pack 120'
if key_found(key, sentence):
print("True")
它不是句子中的搜索键
在
def key_found(key, sentence)
中执行以下操作:另外,如果您不想忽略大小写:
正如您在评论中提到的,您希望完全匹配,请使用重新匹配为此,代码:
我不确定您是否需要这样复杂的方法来实现这一点,但是当前代码的直接问题(和修复)是您正在使用的regex模式本身。应该是这样的:
regex模式
\b20"x30"\b
与输入不匹配的原因是"
(一个非单词字符)和后面的空格(另一个非单词字符)之间的边界不是单词边界。相反,使用(?!\S)
来检测后面的内容是空白字符还是字符串的结尾(反之亦然)。你知道吗在做了这些更改之后,保持代码的其余部分不变,我得到以下输出:
相关问题 更多 >
编程相关推荐