0

我有一个字符串,我想从中获取值“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”

4

2 回答 2

2

使用以下正则表达式:

\[(\d+\.?\d+)\]

你会想要组(1)。

也许这个半伪会有所帮助......

Regex expression = new Regex(@"\[(\d+\.?\d+)\]");
var results = expression.Matches(test);
foreach (Match match in results)
{
    //do whatever you want.
}
于 2013-03-28T20:44:24.570 回答
0

对于您编辑的第二部分:

\[(\d*\w*\.?\d*\w*)(?!\()

这 ”?!” 是一个否定的前瞻断言,在这种情况下意味着“匹配之前没有跟随的事物(”

于 2013-03-29T23:25:55.340 回答