我有一个字符串,我希望从中获取值“12345”和“123.5”并将其放入集合中,以便我可以循环并使用它做一些事情。有人可以帮忙吗?
string test = "Hello World [12345] - [123.5]"
string anothertest = "Hello World [A12345 (05,00,45)] [518.6Z] [51.5]"
我想要“A12345”“518.6Z”“51.5”
答案 0 :(得分:2)
使用以下正则表达式:
\[(\d+\.?\d+)\]
你需要小组(1)。
也许这个半伪也会有帮助...
Regex expression = new Regex(@"\[(\d+\.?\d+)\]");
var results = expression.Matches(test);
foreach (Match match in results)
{
//do whatever you want.
}
答案 1 :(得分:0)
对于您编辑的第二部分:
\[(\d*\w*\.?\d*\w*)(?!\()
“?!”是一个消极的先行断言,在这种情况下意味着“匹配之前的东西没有跟着(”