比较不错的C#中的常用的正则表达式

时间:2021-05-18

为了能够更好地理解如何在C#环境中使用正则表达式,我写出一些对你来说可能有用的正则表达式,这些表达式在其他的环境中都被使用过,希望能够对你有所帮助。
罗马数字
stringp1="^m*(d?c{0,3}|c[dm])"+"(l?x{0,3}|x[lc])(v?i{0,3}|i[vx])$";
  stringt1="vii";
  Matchm1=Regex.Match(t1,p1);
交换前二个单词
stringt2="thequickbrownfox";
  stringp2=@"(\S+)(\s+)(\S+)";
  Regexx2=newRegex(p2);
  stringr2=x2.Replace(t2,"$3$2$1",1);
关健字=值
stringt3="myval=3";
  stringp3=@"(\w+)\s*=\s*(.*)\s*$";
  Matchm3=Regex.Match(t3,p3);
实现每行80个字符
stringt4="********************"
  +"******************************"
  +"******************************";
  stringp4=".{80,}";
  Matchm4=Regex.Match(t4,p4);
月/日/年小时:分:秒的时间格式
stringt5="01/01/0116:10:01";
  stringp5=@"(\d+)/(\d+)/(\d+)(\d+):(\d+):(\d+)";
  Matchm5=Regex.Match(t5,p5);
改变目录(仅适用于Windows平台)
stringt6=@"C:\DocumentsandSettings\user1\Desktop\";
stringr6=Regex.Replace(t6,@"\\user1\\",@"\\user2\\");
扩展16位转义符
stringt7="%41";//capitalA
  stringp7="%([0-9A-Fa-f][0-9A-Fa-f])";
  stringr7=Regex.Replace(t7,p7,HexConvert);
删除C语言中的注释(有待完善)
stringt8=@"
  /*
  *传统风格的注释
  */
  ";
  stringp8=@"
  /\*#匹配注释开始的定界符
  .*?#匹配注释
  \*/#匹配注释结束定界符
  ";
  stringr8=Regex.Replace(t8,p8,"","xs");
删除字符串中开始和结束处的空格
stringt9a="leading";
  stringp9a=@"^\s+";
  stringr9a=Regex.Replace(t9a,p9a,"");
  stringt9b="trailing";
  stringp9b=@"\s+$";
  stringr9b=Regex.Replace(t9b,p9b,"");
在字符\后添加字符n,使之成为真正的新行
stringt10=@"\ntest\n";
  stringr10=Regex.Replace(t10,@"\\n","\n");
转换IP地址
stringt11="55.54.53.52";
  stringp11="^"+
  @"([01]?\d\d|2[0-4]\d|25[0-5])\."+
  @"([01]?\d\d|2[0-4]\d|25[0-5])\."+
  @"([01]?\d\d|2[0-4]\d|25[0-5])\."+
  @"([01]?\d\d|2[0-4]\d|25[0-5])"+
  "$";
  Matchm11=Regex.Match(t11,p11);
删除文件名包含的路径
stringt12=@"c:\file.txt";
  stringp12=@"^.*\\";
  stringr12=Regex.Replace(t12,p12,"");
联接多行字符串中的行
stringt13=@"thisis
  asplitline";
  stringp13=@"\s*\r?\n\s*";
  stringr13=Regex.Replace(t13,p13,"");
提取字符串中的所有数字
stringt14=@"
  test1
  test2.3
  test47
  ";
  stringp14=@"(\d+\.?\d*|\.\d+)";
  MatchCollectionmc14=Regex.Matches(t14,p14);
找出所有的大写字母
stringt15="ThisISaTestOFALLCaps";
  stringp15=@"(\b[^\Wa-z0-9_]+\b)";
  MatchCollectionmc15=Regex.Matches(t15,p15);
找出小写的单词
stringt16="ThisisATestoflowercase";
  stringp16=@"(\b[^\WA-Z0-9_]+\b)";
  MatchCollectionmc16=Regex.Matches(t16,p16);
找出第一个字母为大写的单词
stringt17="ThisisATestofInitialCaps";
  stringp17=@"(\b[^\Wa-z0-9_][^\WA-Z0-9_]*\b)";
  MatchCollectionmc17=Regex.Matches(t17,p17);
找出简单的HTML语言中的链接
stringt18=@"
  <html>
  <ahref=""first.htm"">firsttagtext</a>
  <ahref=""next.htm"">nexttagtext</a>
  </html>
  ";
  stringp18=@"<A[^>]*?HREF\s*=\s*[""']?"+@"([^'"">]+?)['""]?>";
  MatchCollectionmc18=Regex.Matches(t18,p18,"si");

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章