我写了一个模式
string pattern2 = @"(?[<ports>\w+,*]*)";
此模式应该有助于解析下一格式的字符串
[port1, port2_4][portN_][port,port2,port5,p0_p1]
解析后我想要有一串字符串:
1. port1, port2_4
2. portN_
3. port, port2,port5,p0_p1
答案 0 :(得分:2)
这将有效...
(?<=\[)(?<ports>.*?)(?=\])
(?<=\[)
前缀[
但不包含在匹配(?<ports>.*?)
命名捕获“ports”匹配任何非贪婪的东西(尽可能少)
可能的)(?=\])
后缀]
但不包含在匹配代码: -
Regex regex = new Regex(@"(?<=\[)(?<ports>.*?)(?=\])");
var m = regex.Matches("[port1, port2_4][portN_][port,port2,port5,p0_p1]");
foreach (var p in m)
{
Console.WriteLine(p);
}
输出:
port1, port2_4
portN_
port,port2,port5,p0_p1