Python正则表达式搜索或与转义字符比较不会返回true
试图找出这些不可比较的原因:Python正则表达式搜索或与转义字符比较不会返回true,python,regex,string-comparison,Python,Regex,String Comparison,试图找出这些不可比较的原因: import re re.search( "Hello \\ World", "Hello \\ World" ) <> None or re.search( r"Hello \\ World", r"Hello \\ World" ) <> None 重新导入 重新搜索(“Hello\\World”、“Hello\\World”)无 或 重新搜索(r“Hello\\World”,r“Hello\\World”)无 我正在用代码中用于执行
import re
re.search( "Hello \\ World", "Hello \\ World" ) <> None
or
re.search( r"Hello \\ World", r"Hello \\ World" ) <> None
重新导入
重新搜索(“Hello\\World”、“Hello\\World”)无
或
重新搜索(r“Hello\\World”,r“Hello\\World”)无
我正在用代码中用于执行操作的数据测试JSON格式的数据库返回的数据。我之所以使用re,是因为有时我想询问返回的内容是否包含部分短语。所以re给了我很大的灵活性。我原以为原始比较会起作用,但事实并非如此,当然,我不能期望数据库返回原始字符串。我无法控制数据库中的内容,因此我想找到一种方法来允许这些比较工作。非常感谢你的建议/想法。您的正则表达式中有几个问题
打印(重新搜索(“Hello\\world”、“Hello world”、re.IGNORECASE))
(注意字符串中要匹配的两个空格)print(重新搜索(r“Hello\\world”,r“Hello\world”,re.IGNORECASE))
<_sre.SRE_Match object; span=(0, 12), match='Hello World'>
<_sre.SRE_Match object; span=(0, 13), match='Hello \\ World'>
(在编写正则表达式时始终使用
r
前缀,这就少了一个问题)你的意思是你得到了None
,你不知道为什么?请注意,反斜杠也是正则表达式中的特殊字符……”“我不能期望数据库返回原始字符串”:这是胡说八道。原始字符串用于文本字符串。字符串就是字符串。字符串应该是完全匹配的。我在第一个参数上用大写字母表示世界上的W。我了解原始弦,但这就是重点。我只是在来到这里之前找到了答案,看到让·弗朗索瓦提出了与我找到的相同的修复方法。双重逃跑为我解决了这个问题。IOW:搜索\\\\当原始文本中有两个反斜杠时,允许搜索成功完成。谢谢你们的帮助。