出于教学目的,我想要一个很好的解释和例子,说明为什么在搜索python可能会有不同解释的句号或字符时需要“\”。
在下面的例子中,我没有使用“\”来转义“.”,它仍然可以正常工作。
def checkfordot():
dotpattern="[.]"
searchingfor=input("Enter string:")
if (re.search(dotpattern,searchingfor)):
print("Has a dot")
else:
print("Does not have a dot")
输出:
>>> checkfordot()
Enter string:dfsdf.
Has a dot
>>> checkfordot()
Enter string:ffsdfsdfsdf
Does not have a dot
>>>
在这种情况下,使用dotpattern=“[.]”或dotpattern=”[.]似乎没有太大区别。
有人可以a)解释为什么上面没有转义,并简单解释转义的作用以及在什么情况下b)提供一个例子,或者最好是两个例子,整合到我的代码中,很好地演示为什么需要转义字符以及如何使用它进行有效搜索(反之亦然,因为没有“”,程序就无法工作)
具有讽刺意味的是,在打印出来时,我注意到我必须避开\才能打印出来。我在这里打字:>:" \ \ " ....但它只打印一个反斜杠>"\"