C# 在C中用正则表达式解析数据#
我有字符串:文本和一些东西,比如C# 在C中用正则表达式解析数据#,c#,regex,C#,Regex,我有字符串:文本和一些东西,比如f213@@@1,9+1,11@等等,还有litle more等等 我想现在得到@-1,9+1,11@.数字不是固定的,可以更改 我的正则表达式不起作用: (@-([0-9]+)(,)([0-9]+)(+)([0-9]+)(,)([0-9]+)(@) 有人能看到我的正则表达式中的错误吗?您需要避开您的加号: (@@ -)([0-9]+)(,)([0-9]+)( \+)([0-9]+)(,)([0-9]+)( @@) 顺便说一下,这是有史以来最好的工具:当尝试查看
f213@@@1,9+1,11@
等等,还有litle more等等
我想现在得到@-1,9+1,11@.
数字不是固定的,可以更改
我的正则表达式不起作用:
(@-([0-9]+)(,)([0-9]+)(+)([0-9]+)(,)([0-9]+)(@)
有人能看到我的正则表达式中的错误吗?您需要避开您的加号:
(@@ -)([0-9]+)(,)([0-9]+)( \+)([0-9]+)(,)([0-9]+)( @@)
顺便说一下,这是有史以来最好的工具:当尝试查看正则表达式正在做什么时 您需要避开您的加号:
(@@ -)([0-9]+)(,)([0-9]+)( \+)([0-9]+)(,)([0-9]+)( @@)
顺便说一下,这是有史以来最好的工具:当尝试查看正则表达式正在做什么时 您是否考虑过使用
String.Split()
您是否考虑过使用
String.Split()
也许还有其他解决方案:
Regex.IsMatch(yourString, @"@@\s(.+?)\s(.+?)\s@@", RegexOptions.Singleline);
以您的示例为例,第1组为“-1,9”,第2组为“+1,11”。可能是另一种解决方案:
Regex.IsMatch(yourString, @"@@\s(.+?)\s(.+?)\s@@", RegexOptions.Singleline);
以你的例子来说,第一组是“-1,9”,第二组是“+1,11”。(+)应该是(+\+)这是一个非常奇怪的正则表达式。他们没有把正则表达式弄错,但是你也不需要任何圆括号,除非你想捕捉例如数字本身<代码>@-[0-9]+,[0-9]+\+[0-9]+,[0-9]+@一段实际的数据和不说等如何。提供所有不同的组合-1@OmegaMan你的意思是你不能从正则表达式中分辨出OP提供了什么要求?Downvote有点苛刻…(+)应该是(+\+)这是一个非常奇怪的regexp,虽然。他们没有把regex弄错,但是你也不需要任何圆括号,除非你想捕捉例如数字本身<代码>@-[0-9]+,[0-9]+\+[0-9]+,[0-9]+@一段实际的数据和不说等如何。提供所有不同的组合-1@OmegaMan你的意思是你不能从正则表达式中分辨出OP提供了什么要求?否决票有点苛刻。。。