如何选择包含(仅/至少)3 个逗号的行?

1 notepad++

我有一个文本文档,其中包含一些带有 2 个逗号的行和一些带有 3 个逗号的行。

我想用 3 个逗号选择所有行。我怎样才能做到这一点?

这是一个示例文档:

basb,asbdausd,asduasbd
sdauabs,asbudasud,busadasbu,asduasub
asdbua,asbudsdbu,ubasdub
Run Code Online (Sandbox Code Playgroud)

Bri*_*n B 6

我认为这比另一个答案更有效,因为该答案匹配带有 4 个逗号的行。

当然这适用于任何字符,只需替换逗号......

如果你不想每行匹配少于或多于 3 个逗号,我使用了这个模式:

^[^,\n]*((,[^,\n]*){3}$)

此模式的每个部分的解释如下(因为正则表达式对我来说并不明显:-)):

^
Run Code Online (Sandbox Code Playgroud)

在 reg 表达式的开头,表示从行的开头

[^,\n]*
Run Code Online (Sandbox Code Playgroud)

匹配任意数量的不是换行符或逗号的字符

(,[^,\n]*)
Run Code Online (Sandbox Code Playgroud)

这匹配单个逗号后跟零个或多个不是逗号或换行符的字符

{3}$
Run Code Online (Sandbox Code Playgroud)

这意味着在行尾前恰好三次找到前一个模式

((,[^,\n]*){3}$)
Run Code Online (Sandbox Code Playgroud)

请务必在这部分周围加上括号,以明确重复三遍的内容(不是第一个零或多个不是逗号或换行符的字符)

很可能有一种更简单的方法 - 但我一直在测试,我很确定这在当前版本的记事本++中运行良好。