C# 使用正则表达式从字符串中查找数字

C# 使用正则表达式从字符串中查找数字,c#,regex,string,C#,Regex,String,正在查找正则表达式以从字符串中获取数字 我的字符串可以是: abcd1 abcd01 abcd11 我尝试了这个方法,但不起作用:/\d+$/和其他一些方法,但它们似乎不正确 有没有简单的方法从字符串中获取数字?它将在结尾。我相信您希望这个正则表达式没有开头斜杠,因为C不需要它 \d+$ 忽略前导0的步骤 [1-9]\d*$ 如果您想删除所有前导0,老实说,将结果转换为Int32会更容易,我想这正是您想要的。有没有办法只得到1而不是01?是的,有 [1-9]\d*$ 为什么在开头和结尾都要

正在查找正则表达式以从字符串中获取数字

我的字符串可以是:

abcd1
abcd01
abcd11
我尝试了这个方法,但不起作用:/\d+$/和其他一些方法,但它们似乎不正确


有没有简单的方法从字符串中获取数字?它将在结尾。

我相信您希望这个正则表达式没有开头斜杠,因为C不需要它

\d+$
忽略前导0的步骤

[1-9]\d*$


如果您想删除所有前导0,老实说,将结果转换为Int32会更容易,我想这正是您想要的。有没有办法只得到1而不是01?是的,有

[1-9]\d*$

为什么在开头和结尾都要用斜杠?C不是JavaScript。我只是测试了一下,它给了我结果,除了这个abcd01。是否只需要得到1而不是01?@alice7使用0 |[1-9]\d*$如果您想忽略前导0:[1-9]\d*$@alice7,那么Hamlet几乎是对的,您是只想去掉前导零,还是只想要最后一个数字?在您上面的abcd11示例中,您想要1还是11?@Esailija:谢谢,它很有效。我测试了上面的所有内容,结果都很有效。你的答案将强制两位数,将+改为a*,这将work@Esailija你是对的,那只会抓住一个领先的0。我更新了我的答案