我有一个与此类似的文字:
你好@ [[123456:Foo]
如何获取“ 123456”和“ Foo”?
我的尝试
@\[([\d+]):([\s+])\]
答案 0 :(得分:2)
您可以使用
@\[(\d+):([^][]*)]
请参见regex demo。您需要的值在组1和2中。
详细信息
@\[
-一个@[
子字符串(\d+)
-捕获第1组:一个或多个数字:
-冒号([^][]*)
-捕获组1:除]
和[
以外的零个或多个字符]
-一个]
字符。C#演示:
var m = Regex.Match(str, @"@\[(\d+):([^][]*)]");
if (m.Success)
{
Console.WriteLine(m.Groups[1].Value);
Console.WriteLine(m.Groups[2].Value);
}