![]() |
1
2
一种解决方案是使用regexp进行匹配,然后将行放入数据结构中,如 set 为你去除重复的东西。在解析结束时,只需打印集合的内容。 如果您关心的是顺序,您可以添加到某种类型的映射中,其中行作为键,行号作为值(可能在插入之前检查匹配的条目)。如果按值排序,将得到给定行的第一个实例的列表。 |
![]() |
2
2
从技术上讲,使用正则表达式,这是不可能的。你需要更强大的东西。 正则表达式用于匹配正则语言。您试图匹配的模式不是常规模式。 您需要表达式记住一些“state”、以前匹配的错误,并且正则表达式不用于处理此类计算。一个 Turing Machine 能够保存状态。这更符合你的需要。(Java将很好地满足需求。) 在找到所有的错误行之后,通过在日志解析器中添加一些额外的逻辑,可以很容易地解决这个问题。 |
![]() |
DotFX · RegEx捕获关键字前但括号后的所有内容 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |
![]() |
iato · 确保正则表达式不从命名材料中的数字中提取 7 月前 |
![]() |
vr8ce · 非成对标记中特定字符的正则表达式 7 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 7 月前 |
![]() |
Carsten · 使用最近的搜索模式更改文本块 7 月前 |