我有以下字符串:
"121 fd412 4151 3213, 421, 423 41241 fdsfsd"
我需要得到3213和421 - 因为他们前面都有空间,后面有昏迷。
结果将在字符串数组中设置...我该怎么做?
"\\d+"
捕获每个整数。
"\s\\d+(,)"
会引发一些内存错误。
EDIT。
数字左侧(<-)
的空格,右侧的昏迷(->)
编辑2。
string mainString = "Tests run: 5816, 8346, 28364 iansufbiausbfbabsbo3 4";
MatchCollection c = Regex.Matches(a, @"\d+(?=\,)");
var myList = new List<String>();
foreach(Match match in c)
{
myList.Add(match.Value);
}
Console.Write(myList[1]);
Console.ReadKey();
答案 0 :(得分:4)
答案 1 :(得分:0)
\s\\d+(,)
:
\s
未正确转义,应为\\s
,与\\d
相同\\d
匹配单个数字,您需要\\d+
- 一个或多个连续数字(,)
捕获逗号,你真的需要这个吗?好像你需要捕获一个数字,所以\\s(\\d+),
,\\s(\\d+)
答案 2 :(得分:0)
答案 3 :(得分:0)
我认为你的意思是说你正在寻找像,<space><digit>
而不是,<digit><space>
如果有,请尝试this:
, (\d+) //you might need to add another backslash as the others have noted
好吧,根据你的新编辑
\s(\d+),
测试here
答案 4 :(得分:0)
这就是你所需要的,只有数字
\d+(?=\,)
答案 5 :(得分:0)