gpt4 book ai didi

c# - 仅用于数字的正则表达式

转载 作者:IT王子 更新时间:2023-10-29 03:28:33 25 4
gpt4 key购买 nike

我根本没有使用过正则表达式,所以我很难排除故障。我希望正则表达式仅在包含的字符串全是数字时匹配;但对于下面的两个示例,它匹配一个包含所有数字和等号的字符串,如“1234=4321”。我确信有一种方法可以改变这种行为,但正如我所说,我从来没有真正对正则表达式做过很多事情。

string compare = "1234=4321";
Regex regex = new Regex(@"[\d]");

if (regex.IsMatch(compare))
{
//true
}

regex = new Regex("[0-9]");

if (regex.IsMatch(compare))
{
//true
}

以防万一,我使用的是 C# 和 .NET2.0。

最佳答案

使用开始和结束 anchor 。

Regex regex = new Regex(@"^\d$");

如果需要匹配多个数字,请使用 "^\d+$"


请注意,"\d" 将匹配 [0-9] 和其他数字字符,例如东方阿拉伯数字 ٠١٢٣٤٥٦٧٨٩。使用 "^[0-9]+$" 将匹配限制为仅阿拉伯数字 0 - 9。


如果您需要包括数字以外的任何数字表示(例如初学者的十进制值),请参阅 @tchristcomprehensive guide to parsing numbers with regular expressions .

关于c# - 仅用于数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/273141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com