【发布时间】:2017-10-20 11:51:14
【问题描述】:
我在使用 notepad++ 中的正则表达式时遇到问题。我需要在制表符分隔文件中第 n 次出现制表符之后找到值(将是 1 或 0)。选项卡之间的文本可能会有所不同,因此除了选项卡计数之外基本上没有模式。有什么想法吗?
^.*?\t0\t
这行不通,因为可能还有其他地方有 0 在行。
【问题讨论】:
-
请提供一些示例文本和预期输出。
-
试一试:
^(?:[^\t]+\t){5}([01])\b将5更改为您要跳过的号码。 -
@Toto 所说的 :) 仅当允许空字段时,将
+更改为*。 IE。^(?:[^\t]*\t){5}([01])\b. -
托托所说的有道理,而且似乎有效!在试图弄清楚这一点时也想到了这个:^([^\t]*\t){5}0\t([^\t]*\t){17}\r\n
-
@WiktorStribiżew 我只是评论了托托的回答,它解决了 OP 的问题。如果按照我的解释,all 行都有这些值,那么换行符不是问题。如果没有,将
[^\t]更改为[^\t\r\n]应该可以。将([01])\b更改为([01])[\t\r\n]可以解决您的其他问题。