C# 如何使用正则表达式从字符串中获取数字?

C# 如何使用正则表达式从字符串中获取数字?,c#,regex,string,substring,C#,Regex,String,Substring,我有以下字符串: WOA: 1234-123 - Text Text Text Text 或 或 我只需要从这些字符串中获取数字(如果数字中包含破折号,我也需要这些破折号,但如果破折号在末尾,我不需要它)。 我知道我可以使用ASCII码,但使用Regex看起来会更好,但我对Regex的了解非常有限,所以请提供任何帮助。您可能正在寻找此Regex: [0-9]+(-[0-9]+)* 显示您的最佳尝试。我建议输入+字符,而不是?:\d+(\d+)。现在它也将在123-456-78上匹配。TS明确

我有以下字符串:

WOA: 1234-123 - Text Text Text Text

我只需要从这些字符串中获取数字(如果数字中包含破折号,我也需要这些破折号,但如果破折号在末尾,我不需要它)。
我知道我可以使用ASCII码,但使用Regex看起来会更好,但我对Regex的了解非常有限,所以请提供任何帮助。

您可能正在寻找此Regex:

[0-9]+(-[0-9]+)*

显示您的最佳尝试。我建议输入
+
字符,而不是
\d+(\d+)
。现在它也将在
123-456-78
上匹配。TS明确表示多个破折号:“如果数字中包含破折号,我也需要这些破折号”实际上
[0-9]+([0-9]+)*
将更准确,因为不总是连字符出现在那里。在我对它发表评论后,你们都应该退出忍者编辑你们的帖子!:)删除了我的,因为这是上级。谢谢大家!这是可行的,但谁否决了我的问题?怎么了?
WOA 012345678 - Text Text Text
[0-9]+(-[0-9]+)*