正则表达式删除所有大写字母和逗号

Regex to delete all caps letters and following comma

我有一个像这样的名字的 csv Smith, SMITH, John, JOHN,我正在尝试在 OpenRefine 中使用正则表达式来删除所有大写的名字。

replace(value, /^[A-Z]$/, '') 什么都不做,replace(value, /[A-Z]/, '') 删除所有带有大写字母的名称并留下一串逗号。

我需要删除全部大写的名称以及可能跟在后面的任何逗号。我对通过将所有名称小写或将每个名称的首字母大写来保留列表不感兴趣。必须删除所有大写的任何名称。

使用

replace(value, /, *[A-Z]+\b/, '')

参见proof

解释

--------------------------------------------------------------------------------
  ,                        ','
--------------------------------------------------------------------------------
   *                       ' ' (0 or more times (matching the most
                           amount possible))
--------------------------------------------------------------------------------
  [A-Z]+                   any character of: 'A' to 'Z' (1 or more
                           times (matching the most amount possible))
--------------------------------------------------------------------------------
  \b                       the boundary between a word char (\w) and
                           something that is not a word char