我主要有一个;
(分号)分隔列表,并希望从列表中提取包含lib1
的条目。在这种情况下,它将是..\..\..\libs\lib1\include
<A>..\src;..\include;..\..\..\libs\lib1\include;..\..\..\libs\lib2\include</A>
我试过这个正则表达式
[>;](.*?lib1.*?[;<])
但它几乎匹配整个事情
..\src;..\include;..\..\..\libs\lib1\include;
我怀疑我需要某种前瞻,在;
发生之前我不匹配另一个lib1
字符,但我不确定该怎么做。
答案 0 :(得分:1)
当列表中只有一个[case1, a, b, c, ..., case9, aa, b, cc, ..]
时,此正则表达式有效。但是你说lib1
(复数)所以捕获循环遍历每个元素,如果我们知道你在做什么语言会更容易。参见regex101的例子。
这是正则表达式:
"entries"
可以理解为:
^.*[>;](.*lib1.*?)[;<]