【问题标题】:Multiline search in txt file with python使用python在txt文件中进行多行搜索
【发布时间】:2017-01-31 14:24:13
【问题描述】:

我有这样的模式:

...
72 anything
73 }
74 something {
75 something2
76 something3 withVariableTextHere
77 anything
...

我已经尝试搜索:"something {\nsomething2\nsomething3)",并且我确实使用 re.findall 获得了 True 结果,但是在找到模式后,我想打印整个 #76 行,因为我需要在“something3”之后的信息。

有人知道我该怎么做吗?而且我想通过同一个文件多次执行此操作,基本上每当找到模式时,我都想打印整个第三行。

【问题讨论】:

    标签: python regex string python-2.7 multiline


    【解决方案1】:

    您可以在正则表达式中使用捕获组。例如:

    s = """anything
    }
    something {
    something2
    something3 withVariableTextHere
    anything"""
    
    re.findall("something {\nsomething2\nsomething3(.*)", s)
    

    将产生:

    [' withVariableTextHere']
    

    简而言之,它将返回与括号中正则表达式部分匹配的所有内容,这里 任何新行之前的内容

    【讨论】:

    • 感谢您的回复,Derlin,这正是我想要的。经过几天的尝试,你真的救了我:)
    猜你喜欢
    • 2017-08-15
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多