使用RegEx查找包含超过N个分号的行

时间:2013-02-08 14:18:47

标签: mysql regex csv sublimetext2

我从Access数据库获得了一个CSV文件,用于导入MySql。它包含书籍和期刊目录。它由分号描绘。它有大约4000个条目。

我遇到的问题是所列出的许多书籍和期刊的标题都包含分号。

我正在寻找的是在Sublime Text 2中运行的简单RegEx搜索,以查找.csv文件中具有大于5个分号的行。

这将让我快速编辑有问题的标题,而不是尝试阅读整个数据库。

我对RegEx不太熟悉所以要温柔......

非常感谢

1 个答案:

答案 0 :(得分:5)

你可以使用这个正则表达式:

(.*;){5}

它会突出显示(部分)包含5个或更多;的任何行。

简单地说,正则表达式将搜索5个[0或更多任何字符(新行除外).*后跟;]的实例。

深入解释将涉及贪婪量词的讨论,其中.*部分(*量词为0或更多,并且它也是贪心)尽可能多地吃掉文字。因此,即使行中有超过5 ;,它们都会成为匹配的一部分,这使得该行的其余部分无法匹配,并且匹配必须在下一行继续。