c# 正则表达式 匹配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 正则表达式 匹配相关的知识,希望对你有一定的参考价值。
String p = "\\d";
String num = "*pp22";
if (System.Text.RegularExpressions.Regex.IsMatch(num, p) == true)
就拿上面来说,因为num里面有2这个字符,所以这个整体就匹配成功了,但是我想要达到的效果是检测num是不是一个合法的数字,该怎么做啊
好急好急!!
RegexOptions options = RegexOptions.None;
Regex regex = new Regex(@"(?<nums>\d*)", options);
string input = @"*pp22";
// Check for match
bool isMatch = regex.IsMatch(input);
if( isMatch )
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(input, "IsMatch");
// Get match
Match match = regex.Match(input);
if( match != null )
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(match.Value, "Match");
// Get matches
MatchCollection matches = regex.Matches(input);
for( int i = 0; i != matches.Count; ++i )
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(matches[i].Value, "Match");
// Numbered groups
for( int i = 0; i != match.Groups.Count; ++i )
Group group = match.Groups[i];
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(group.Value, "Group: " + i);
// Named groups
string groupA = match.Groups["nums"].Value;
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(groupA, "Group: nums");
追问
输出了OK
最后的代码不是取命名组 nums的值吗。
我这个是代码生成的,全给你了。
抱歉,不太明白,
比较急,方便加个qq吗 694358264
感激不尽~~
加了。
本回答被提问者采纳 参考技术B 写个方法,返回值类型用bool类型,参数是字符串类型,当匹配上的时候返回值是true,否则返回false,调用的时候,只需要传入字符串就可以判断追问不是,那匹配的时候还是要调System.Text.RegularExpressions.Regex.IsMatch
这个函数吧
这个函数本身就不是说完全匹配的啊,这怎么办
bool isNumberic(string numStr)
return new System.Text.RegularExpressions.Regex(@"^\d+$");
你试试这个方法
你new了个Regex 没用他匹配吧。。
追答bool isNumberic(string numStr)
return System.Text.RegularExpressions.Regex.IsMatch(numStr,@"^\d+$");
写掉了个东西
C#匹配中文字符串的4种正则表达式分享
本文介绍在C#中使用匹配中文的正则表达式,包括纯中文、有中文、中文开头、中文结尾等几个正则表达式示例。在正则表达式中,中文可以通过Unicode编码来确定正则表达式范围。
在C#中,匹配中文的正则表达式用Unicode来表示时,范围是: [\u4e00-\u9fa5]。所以,在此基础上,我们可以得到如下一些正则表达式。
1、匹配字符串全部是中文字符的正则表达式
说明:“^”表示字符串开头,“$”表示字符串结束,“[\u4e00-\u9fa5]+”表示一个或多个中文字符。
2、匹配字符串中包含中文字符的正则表达式
说明:本例中只要求判断字符串中是否出现中文,所以不需要字符串头和尾,只要在整个字符串中有中文就可以被匹配到。
3、匹配字符串中以中文字符开头的正则表达式
说明:在正则表达式的最前面加一个“^”,再紧跟一个中文字符,即可匹配以中文字符开头的字符串。
4、匹配字符串中以中文字符结尾的正则表达式
说明:在正则表达式的最后面加一个“$”,在此之前加一个中文字符,即可匹配以中文字符结尾的字符串。
关于C#匹配中文字符的正则表达式,本文就介绍这么多,希望对您有所帮助,谢谢!
以上是关于c# 正则表达式 匹配的主要内容,如果未能解决你的问题,请参考以下文章