正则表达式:在分隔列表中查找项目

时间:2015-12-08 11:39:34

标签: regex

我主要有一个;(分号)分隔列表,并希望从列表中提取包含lib1的条目。在这种情况下,它将是..\..\..\libs\lib1\include

<A>..\src;..\include;..\..\..\libs\lib1\include;..\..\..\libs\lib2\include</A>

我试过这个正则表达式

[>;](.*?lib1.*?[;<])

但它几乎匹配整个事情

..\src;..\include;..\..\..\libs\lib1\include;

我怀疑我需要某种前瞻,在;发生之前我不匹配另一个lib1字符,但我不确定该怎么做。

1 个答案:

答案 0 :(得分:1)

当列表中只有一个[case1, a, b, c, ..., case9, aa, b, cc, ..] 时,此正则表达式有效。但是你说lib1(复数)所以捕获循环遍历每个元素,如果我们知道你在做什么语言会更容易。参见regex101的例子。

这是正则表达式:

"entries"

可以理解为:

^.*[>;](.*lib1.*?)[;<]