C# 如何在System.Text.RegularExpressions.Regex中查找整数或小数
c中的Text.RegularExpressions.Regex类,在这个类中我试图找到包含单词的字符串C# 如何在System.Text.RegularExpressions.Regex中查找整数或小数,c#,regex,string,C#,Regex,String,c中的Text.RegularExpressions.Regex类,在这个类中我试图找到包含单词的字符串 string s11 ="java developer in new york 2years exp" 在我使用之前 Regex = new Regex("(\d+)(years?)"); 这里,我在给定的s11字符串中获取inter值 Match match = regex.Match(ss); if(match.Success) { string s = match.Gr
string s11 ="java developer in new york 2years exp"
在我使用之前
Regex = new Regex("(\d+)(years?)");
这里,我在给定的s11字符串中获取inter值
Match match = regex.Match(ss);
if(match.Success)
{
string s = match.Groups[1];
string s1 = match.Groups[2];
}
但是,如果我更改字符串,则此项仅适用于integer,如:
string s11="java developer in new york 0.10years exp"
它停止工作了
我想与整数或十进制一样的工作
string s11="java developer in new york 2years exp"
string s11="java developer in new york 0.10years exp"
任何机构都能为这个问题提供正确的解决方案吗;即查找整数值和十进制数值
谢谢
普拉迪普怎么样
Regex = new Regex("([0-9]?\.?\d+)\s*(years?)");
此外,还有许多工具可以让您以交互方式尝试它们,如
那怎么办
Regex = new Regex("([0-9]?\.?\d+)\s*(years?)");
此外,还有许多工具可以让您以交互方式尝试它们,如
试试这个
new Regex(@"([0-9]*\.[0-9]+|[0-9]+)*years");
另外,作为将来的参考,它是一个测试正则表达式的简单工具,并给出了许多示例。试试这个
new Regex(@"([0-9]*\.[0-9]+|[0-9]+)*years");
此外,作为将来的参考,它是一个测试正则表达式的简单工具,并给出了许多示例。您的示例很接近;我认为,如果您只需添加可选的小数部分:
Regex = new Regex("((?:\d*\.)?\d+)(years?)");
你的很接近;我认为,如果您只需添加可选的小数部分:
Regex = new Regex("((?:\d*\.)?\d+)(years?)");