实例详解C#正则表达式

2019-12-30 11:32:37丽君

(11)十六进制字符范围

正则表达式中,可以使用 "/xXX" 和 "/uXXXX" 表示一个字符("X" 表示一个十六进制数)形式字符范围:
/xXX       编号在 0到255 范围的字符,比如:空格可以使用 "/x20" 表示。
/uXXXX   任何字符可以使用 "/u" 再加上其编号的4位十六进制数表示,比如:汉字可以使用“[/u4e00-/u9fa5]”表示。

(12)对[0,100]的比较完备的匹配

下面是一个比较综合的示例,对于匹配[0,100],需要特殊考虑的地方包括
*00合法,00.合法,00.00合法,001.100合法
*空字符串不合法,仅小数点不合法,大于100不合法
*数值是可带后缀的,如“1.07f”表示该值为一个float类型(未考虑)


 Regex r = new Regex(@"^/+?*(?:(/.*)?|(/d{,}(?=/./d)|/d{,}(?=($|/.$)))(/./d*)?)$");
 string x = "";
 while (true)
 {
 x = Console.ReadLine();
 if (x != "exit")
 {
  if (r.IsMatch(x))
  {
  Console.WriteLine(x + " succeed!");
  }
  else
  {
  Console.WriteLine(x + " failed!");
  }
 }
 else
 {
  break;
 }
 }

(13)精确匹配有时候是困难的

有些需求要做到精确匹配比较困难,例如:日期、Url、Email地址等,其中一些你甚至需要研究一些专门的文档写出精确完备的表达式,对于这种情况,只能退而求其次,保证比较精确的匹配。例如对于日期,可以基于应用系统的实际情况考虑一段较短的时间,或者对于像Email的匹配,可以只考虑最常见的形式。

以上内容是小编给大家介绍的C#正则表达式,希望大家喜欢。同时感谢大家一直以来对ASPKU网站的支持,祝大家元旦快乐。



注:相关教程知识阅读请移步到c#教程频道。