我有一个文本文档,其中包含一些带有 2 个逗号的行和一些带有 3 个逗号的行。
我想用 3 个逗号选择所有行。我怎样才能做到这一点?
这是一个示例文档:
basb,asbdausd,asduasbd
sdauabs,asbudasud,busadasbu,asduasub
asdbua,asbudsdbu,ubasdub
Run Code Online (Sandbox Code Playgroud)
我认为这比另一个答案更有效,因为该答案匹配带有 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)
请务必在这部分周围加上括号,以明确重复三遍的内容(不是第一个零或多个不是逗号或换行符的字符)
很可能有一种更简单的方法 - 但我一直在测试,我很确定这在当前版本的记事本++中运行良好。
| 归档时间: |
|
| 查看次数: |
7666 次 |
| 最近记录: |