使用RegEx查找行包含多于N个分号

Pet*_*ney 2 regex mysql csv sublimetext2

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

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

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

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

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

非常感谢

nha*_*tdh 5

您可以只使用此正则表达式:

(.*;){5}
Run Code Online (Sandbox Code Playgroud)

它将突出显示5个或更多行中的任何行(的一部分);

简而言之,正则表达式将搜索[0个或多个任何字符(换行符除外).*后跟;]的5个实例。

在更深入的解释中将涉及关于贪婪量词的讨论,在该.*部分中(等于*0或更大的量,也就是贪婪)会吃掉尽可能多的文本。结果,即使;该行中有5个以上,它们全部都成为匹配的一部分,这使得该行的其余部分无法匹配,并且匹配必须在下一行继续。