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[^ ]* ","");
说明:两者的差别,主要是语法规则的差别。