我希望能够在引用的CSV文件中跳转到不包含6个引号的行,因为这是识别损坏行的好方法。
我认为使用带有Notepad ++的正则表达式查找功能将是一种明智的方法,但我不确定如何选择行。
6个引号(")会建议一个完整的行,所以我想跳到任何不包含6的行。
以下是一些要播放的示例数据,在此示例中,第4行我想跳转到
"sam","mark","dave"
"sam","mark","dave"
"sam","mark","dave"
"sam","mark","
dave"
"sam","mark","dave"
"sam","mark","dave"
答案 0 :(得分:2)
这可以帮助您找到正确的行
^(.*?"){6}[^"]$
然后,您可以使用search->bookmarks->inverse bookmarks
修改强>:
此模式将仅匹配您想要的行
(?!("[^"\r\n]*){6})^.+?$
它使用负向前瞻来告诉搜索引擎避免使用恰好为6 "
的行并保留其他行。
如果可能有超过6个引号(这也是一个问题)请改用以下内容
(?!^("[^"\r\n]*){6}$)^.+?$
修改强>:
(?!
这是一个负面的预测,它告诉“匹配字符串(或行)不包含以下文字” (^"
:不应匹配的文字以行尾"
开头(^
)
[^"\r\n]*
:之后包含0个或更多(*
)元素,这些元素不是双引号或换行符(如果^
是正方形内的第一个字符括号的意思是“不要在括号中找到字符”)
){6}
:重复6次
$)
:在行尾(和否定前瞻结束)结束
^.+?$
:如果条件合适,请匹配整行。
答案 1 :(得分:0)
要查找引号出现在0到5次之间的行,请使用此正则表达式。
^([^"\n]*"){0,5}$
说明:
^
- 从一行的开头([^\n"]*")
- 查找包含除双引号或新行([^"\n]
)之外的任何字符的组,直到双引号(*"
)。{0,5}
- 查找包含0到5次出现的小组$
- 直到行尾要匹配超过6 "
的行,您也可以使用此
^(([^"\n]*"){0,5}|([^"\n]*"){7,})$
|
它输入两个正则表达式(5或更少OR 7或更多){7,}
- 查找包含7个或更多组的