代码之家  ›  专栏  ›  技术社区  ›  Compoot

Python中的正则表达式-为什么需要“\”来查找perod[重复]

  •  0
  • Compoot  · 技术社区  · 4 年前

    出于教学目的,我想要一个很好的解释和例子,说明为什么在搜索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)提供一个例子,或者最好是两个例子,整合到我的代码中,很好地演示为什么需要转义字符以及如何使用它进行有效搜索(反之亦然,因为没有“”,程序就无法工作)

    具有讽刺意味的是,在打印出来时,我注意到我必须避开\才能打印出来。我在这里打字:>:" \ \ " ....但它只打印一个反斜杠>"\"

    0 回复  |  直到 4 年前