分享
三行代码  ›  专栏  ›  技术社区  ›  HelloBT

python重新输出错误 - Python re wrong output

  •  0
  • HelloBT  · 技术社区  · 1 周前

    这个问题已经有了答案:

    我想找到“.”的位置,但是当我运行下面的代码时:

    text = 'Hello world.'
    pattern = '.'
    search = re.search(pattern,text)
    print(search.start())
    print(search.end())
    

    输出为:

    0
    1
    

    “.”的位置不是0 1。 那么为什么它会给出错误的输出呢?

    1 回复  |  直到 1 周前
        1
  •  1
  •   Pitto    1 周前

    您可以为此任务使用find方法。

    my_string = "test"
    s_position = my_string.find('s')
    print (s_position)
    

    输出

    2
    

    如果您真的想使用regex,请确保转义点字符,否则它将被解释为一个特殊字符。

    regex中的点匹配除换行符以外的任何字符。

    text = 'Hello world.'
    pattern = '\.'
    search = re.search(pattern,text)
    print(search.start())
    print(search.end())