RegEx 在特定字符后获取字符串,除非特定字符不存在

RegEx get string after specific character unless specific character doesn't exist

我有两个独立的字符串:

我将如何创建一个正则表达式:

  1. 如果“:”存在,则获取“:”和space之后的所有内容。
  2. 如果“:”不存在,则获取整个字符串。

例如,正则表达式应执行以下操作:

^([^:\n]+)$|^[^:\n]*:(.*$)

您可以使用 this.Grab 或 capturegroup。查看演示。

https://regex101.com/r/gT6vU5/9

如果你想匹配 empty string 也使用

^([^:\n]*)$|^[^:\n]*:(.*$)