我有一个非常大的CSV文件200000+记录。需要搜索超过100个字符的字符串。RegEx在Notepad++中打开的CSV文件中查找超过n个字符的字段尝试了以下操作..但没有工作
(?:,[^,\r\n]*){100,}$
e37o9pze1#
你需要的是
[^,\r\n]{100,}
你重复100多次的是一个 * 任意 * 长度的字段,前面有一个逗号。我不确定字符类中的\r和\n,它们可能不需要(这取决于Notepad++)。在不需要它们的情况下,表达式简化为
\r
\n
[^,]{100,}
当然,上面的正则表达式是基于这样的假设:CSV字段中没有逗号(,)*,并且字段没有用引号括起来。用正则表达式处理这种情况在其他简化假设下仍然是可能的(即排除边缘情况)。我还假设,根据你的尝试,你正在寻找的字段不是一行的第一个,所以我们可以说它前面有一个逗号:
,
(?<=,)(?:"[^"]{100,}"|[^",][^,]{99,})
(the (?<=,)是逗号的“正向后看”)
(?<=,)
1条答案
按热度按时间e37o9pze1#
你需要的是
你重复100多次的是一个 * 任意 * 长度的字段,前面有一个逗号。
我不确定字符类中的
\r
和\n
,它们可能不需要(这取决于Notepad++)。在不需要它们的情况下,表达式简化为当然,上面的正则表达式是基于这样的假设:CSV字段中没有逗号(
,
)*,并且字段没有用引号括起来。用正则表达式处理这种情况在其他简化假设下仍然是可能的(即排除边缘情况)。我还假设,根据你的尝试,你正在寻找的字段不是一行的第一个,所以我们可以说它前面有一个逗号:(the
(?<=,)
是逗号的“正向后看”)