Micsoft 的.net已经支持正则表达式,使用框架类Regex即可。如果使用正则表达式替换符合规则的字符串,在Visual C++.net和Visual C# .net中的使用还有一些小的差别。

1. Visual C++.net

命名空间的使用:using namespace System::Text::RegularExpressions;

String *s = "test text sample for regular expression";

(1)定义对象:Regex *rx = new Regex("t[^ ]* ");//匹配以t开始的字符串,紧跟着0到n个非空格字符,直到遇到空格结束

完成匹配替换:s = rx->Replace(s,"");//匹配到以后,删除

(2)也可直接使用静态函数Replace完成以上操作:

s = Regex::Replace(s, "t[^ ]* ","");

2. Visual C#.net

命名空间的使用:using System.Text.RegularExpressions;

String s = "test text sample for regular expression";

(1)定义对象:Regex rx = new Regex("t[^ ]* ");//匹配以t开始的字符串,紧跟着0到n个非空格字符,直到遇到空格结束

完成匹配替换:s = rx.Replace(s,"");//匹配到以后,删除

(2)使用静态函数Regex::Replace来完成

s = Regex.Replace(s,"t[^ ]* ","");

说明:两者的差别,主要是语法规则的差别。

 


评论

该日志第一篇评论

发表评论

评论也有版权!