正则表达式我试图在逗号后没有更多字段的字段末尾找到一个逗号

regex I am trying to find a comma at the end of a field which has no more fields after the comma

我有一个逗号分隔的 csv 文件。我在记事本++中打开 我正在使用 Search\Replace 对话框中的正则表达式选项。

例如文件中的数据

One,two,three
One,,three
One,two,
One,two, 

第 3 行的最后一个字段有一个逗号,没有 space。 在第 4 行的最后一个字段中有一个逗号 space.

我试图在第 3 行找到没有 space 的逗号

我试过下面的正则表达式 [^\s$]|[^[a-z$]] 它找到所有逗号。
有趣的是,它甚至可以找到没有 space 的逗号。我认为 ^\s 意味着不包含 space。即 ^ 表示 Not,\s 表示 space。

我只想找到记录末尾的最后一个字段,它有一个没有 space 且没有任何字符的逗号。

我为此使用什么正则表达式? 谢谢!

您可以使用简单的正则表达式来检查逗号后面是否没有跟在行尾的 space。

,(?! )$

或者如果有多个space:

,(?! *)$

或者如果只有白色space:

,(?!\s*)$

见截图:

就这样做:

查找内容:,$

确保选中 "Regular expression"。