正则表达式 - 如何 select 第二个逗号及其后的所有内容

RegEx - How to select the second comma and everything after it

我正在使用 UltraEdit。我有一个文本文件,其中包含这样的字符串

Workspace\Trays\Dialogs\Components, Expand, kThisComputerOnly, P_BOOLEAN },
WebCommonDialog Sign_Out, Left, kThisComputerOnly, P_INTEGER_RANGE(0, 4096) },
ThreeDTextDlg, x, kThisComputerOnly, P_INTEGER_RANGE(0, 4096) },
Preferences\Graphics, CtxDbgMaxGLVersionMajor, kThisComputerOnly, P_INTEGER },

UltraEdit 允许使用 PERL、UNIX 和 UltraEdit 风格的 RegEx。 我需要 select 第二个逗号和行尾的所有内容并将其删除。

使用 regexpal.com 我尝试了几种不同的方法,但无法弄清楚。

/,\s.+/ selects the first comma
/[,]\s.+/ same as above

我不知道如何select第二个命令及以后的命令。

我也搜索了 Whosebug 并找到了几个示例,但无法更改它们以适合我。

谢谢。

您可以使用具有以下模式的 Perl 正则表达式选项:

^([^,]*,[^,]*),.*

并替换为 </code>.</p> <p>参见<a href="https://regex101.com/r/1mGaCM/2" rel="noreferrer">regex demo</a>。</p> <p><strong>详情</strong>:</p> <ul> <li><code>^ - 字符串开头

  • ([^,]*,[^,]*) - 第 1 组(稍后用替换模式中的 </code> 反向引用引用): <ul> <li><code>[^,]* - 除逗号以外的任何 0+ 个字符(为防止跨行溢出,将 \n\r 添加到否定字符 class - [^,\n\r]*
  • , - 逗号
  • [^,]* - 除逗号
  • 以外的任何 0+ 个字符
  • , - 逗号
  • .* - 除换行字符外的任何 0+ 个字符尽可能多