.net - 如果只有一个 : exists in string,则提取冒号后的内容

标签 .net regex

我想提取:之后的内容, 但只能有一个 : .

例子:

foo:bar             # match, extract 'bar'
foo:123             # match, extract '123'

foo:bar:123         # do not match

所以最后一个示例不应该匹配,因为它有多个 : .

我尝试了否定的回溯 ^.+(?<!:):(.+)$但它仍然匹配并从最后一个示例中提取。

这里是 a demo .

最佳答案

试试(regex101):

^[^:]+:([^:]+)$

这将只匹配具有一个 : 的行并获取 :

之后的字符串

关于.net - 如果只有一个 : exists in string,则提取冒号后的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73683280/

相关文章:

c# - IEnumerable<T> 和 IQueryable<T> 说明?

javascript - 根据不同的字符长度使用 Javascript RegExp 拆分字符串

regex - 修改电话号码清理正则表达式以处理前导 1 位数字

c# - 在不创建页面的新实例的情况下在同一 Window WPF 中切换 View

c# - 如何将任何文件夹更改投影到新文件夹并保持原始文件夹不变?

java正则表达式匹配任何整数或 double 然后替换非数字/小数字符

c# - 替换双引号 html 属性中的双引号

javascript - React 电子邮件验证中的正则表达式

c# - HasFlag 无法识别角色分配

c# - C# 应用程序中的 Environment.FailFast