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

时间:2015-10-23 02:35:17

标签: regex nsregularexpression

我有两个单独的字符串:

  • 这是一个测试字符串
  • 这是一个测试字符串

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

  1. 如果":"存在,然后在"之后获取所有内容:"和一个空间。
  2. 如果":"不存在,然后得到整个字符串。
  3. 例如,正则表达式应该执行以下操作:

    • 这是一个测试字符串>这是一个测试字符串
    • 这是一个测试字符串>是一个测试字符串

1 个答案:

答案 0 :(得分:2)

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

您可以使用此功能。抓住capturegroup。请参阅演示。

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

如果您想匹配empty string,请使用

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