【问题标题】:Regex include pattern but exclude subsequent pattern [closed]正则表达式包括模式但排除后续模式 [关闭]
【发布时间】:2022-01-23 13:05:13
【问题描述】:

我正在为正则表达式的情况而失去理智。 我有一个来自 unittests 的日志文件,并使用正则表达式断言正确的测试已经通过。

日志文件的摘录;

pydicom/pydicom/tests/test_filereader.py::test_read_dicomdir_deprecated PASSED
pydicom/pydicom/tests/test_filereader.py::TestReadDataElement::test_read_SV_explicit_little SKIPPED
pydicom/pydicom/tests/test_filereader.py::TestDSISnumpy::test_IS_numpy_import_error SKIPPED
pydicom/pydicom/tests/test_filereader.py::TestDSISnumpy::test_DS_numpy_import_error SKIPPED
pydicom/pydicom/tests/test_filereader.py::TestDSISnumpy::test_numpy_import_warning SKIPPED
pydicom/pydicom/tests/test_waveform.py::TestHandlerGenerateMultiplex::test_as_raw PASSED

首先,我只对来自pydicom/pydicom/tests/test_filereader.py 的测试感兴趣。这些我可以通过r"pydicom/tests/test_filereader.py.*" 找到。现在,我想对跳过的测试实施负面的后视(我已经审查过这些测试是合法跳过的)。

【问题讨论】:

    标签: python regex


    【解决方案1】:
    (?!.*SKIPPED)pydicom/tests/test_filereader.py.*
    

    你可以试试这个。看演示。 https://regex101.com/r/1A53yy/1

    【讨论】:

    • 这是进步。但是,我不能盲目地使用 SKIPPED,因为可能还有其他相关的 SKIPPED 测试。看来我可以扩展你的解决方案来做(?!.*test_read_SV_explicit_little)(?!.*test_IS_numpy_import_error)pydicom/tests/test_filereader.py.*
    • @user2181884 是的,可以工作
    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2016-09-28
    • 2011-09-10
    • 2023-04-09
    相关资源
    最近更新 更多