查找不以"Notepad ++"开头的行

Dan*_* W. 35 regex notepad++

我尝试验证我们遇到换行问题的CSV文件.

我想找到所有不以a开头的行".

我正在尝试,/!^"/gim!否定是行不通的.

我怎么能/^"/gim正确否定?

new*_*rey 55

在正则表达式中,!并不意味着否定; 相反,你想要否定一个字符集[^"].括号[]表示字符集,如果以字母集开头^,则表示"不是此字符集".

所以,如果你想匹配不是双引号的东西,你会使用[^"]; 如果你不想匹配任何报价,你可以使用[^"']等.

使用Notepad ++,您应该能够使用以下内容进行搜索,以查找不以"字符开头的行:

^[^"]
Run Code Online (Sandbox Code Playgroud)

如果要突出显示整行,请使用:

^[^"].*
Run Code Online (Sandbox Code Playgroud)

  • @newfurniturey我认为令人困惑的部分是雪佛龙(帽子/插入符号)符号有两个含义,具体取决于上下文.要么'从'开始'还是'否定',还是我误解了? (2认同)

Boo*_*oop 24

在Notepad ++中,您可以使用非常有用的负向前瞻

在您的情况下,您可以尝试以下方法:

^(?!")
Run Code Online (Sandbox Code Playgroud)

如果你想匹配整体而行添加.+.{1,7}或任何如:

^(?!").*
Run Code Online (Sandbox Code Playgroud)

也将匹配空行.

说明部分

^ 行开始

(?!regexp)否定前瞻部分:这意味着如果正则表达式匹配,则不会显示结果

  • 谢谢,这是一种通用方法,可以匹配多个字符! (2认同)

Gau*_*rav 6

第 1 步 - 匹配行。查找对话框 >标记选项卡,您可以为匹配的行添加书签。

第 2 步 - 删除已添加书签的行或删除未添加书签的行。搜索 > 书签 > 删除未标记的行或删除书签的行

  • 这是一个绝妙的解决方案 (3认同)