0

我的测试用例是这样的:this is a sentence. reviewed: name DEFECT: none

我需要捕捉任何东西,reviewed:但当它看到时停止DEFECT:

reviewed: (.+)(?=\sTASK|\sDEFECT)

以上捕获name正确。但问题是当没有DEFECT:赛后,像这​​样

this is a sentence. reviewed: name

不匹配。将正则表达式更改为

reviewed: (.+)(?=\sTASK|\sDEFECT)?  

或者

reviewed: (.+)(?=\sTASK|\sDEFECT)*

比赛抓住了一切name DEFECT: none。看到这个词后我应该用什么来停止匹配DEFECT: 但同时这个词可能根本不存在

我也试过以下没有运气:

reviewed: (.+)?(?=\sTASK|\sDEFECT)?
              ^

使其不贪婪。任何人都可以帮忙吗?

4

1 回答 1

2

在这种情况下,您可以将字符串的结尾与 $ 匹配,如下所示:

/reviewed: (.+?)(?=DEFECT:|$)/
于 2013-08-30T09:07:20.633 回答