我有一个字符串,我想从中获取值“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”
使用以下正则表达式:
\[(\d+\.?\d+)\]
你会想要组(1)。
也许这个半伪会有所帮助......
Regex expression = new Regex(@"\[(\d+\.?\d+)\]");
var results = expression.Matches(test);
foreach (Match match in results)
{
//do whatever you want.
}
对于您编辑的第二部分:
\[(\d*\w*\.?\d*\w*)(?!\()
这 ”?!” 是一个否定的前瞻断言,在这种情况下意味着“匹配之前没有跟随的事物(”