如何使用两个甚至更多条件组/匹配的正则表达式多行?

问题描述 投票:-1回答:1

我需要在这种文件中搜索[文档],何时找到然后在第一行选择文本。如果下一行以空格开头,那么三个点和空格也会从所有这些行中选择文本。

@{TEST_SCREENS_WITH_TIMEOUT}    ShowDesc    ShowOsAndCountryCode    ShowSW  
...                             Checksum_PPSU   Checksum_BPSU                   
...                             Datetime_Clock  Datetime_DDMM
...                             ShowHWRevBaseboard  ShowHWRevSOM

*** Keywords ***
Program Version contain
[Documentation]     Read out program version and compare it with
    ...                 Comparison is done with "Should Contain"
    ...                 it checks if 

Tarif EPS is
[Documentation]     Read out tarif EPS and compare it with ${TARIF_EPS}
    ...                 Comparison is done with "Should be equal"
[Arguments]         ${TARIF_EPS}

Should be equal    ${disp_traf_eps}    ${TARIF_EPS}    Tarif EPS


Release Date contain
[Documentation] Read out program version and compare it with ${RELEASE_DATE}

这是我到目前为止所要达到的: ^ \ S * [文档] \ S +(+)(?:?(= \ S + ... \ S +(+)))*

我到目前为止尝试的整个文本和正则表达式可以在这里找到:https://regex101.com/r/Jbzd4e/1

在我的情况下,它只选择2行。我只需要选择文档文本!

regex regex-greedy
1个回答
1
投票

怎么样:^\s{1,}\[Documentation]\s*(.*)$|^\s{1,}\.{3}\s*(.*)$

https://regex101.com/r/C5FTzP/2

更新;

或者这可能更优雅:^\s{1,}(\[Documentation]|\.{3})\s*(.*)$

https://regex101.com/r/C5FTzP/4

© www.soinside.com 2019 - 2024. All rights reserved.