您的位置:首页 > 其它

一个正则表达式

2009-07-15 15:54 155 查看
今天在论坛上看到这样一个题目,String s1 = "中华人人";String s2 = "人民共";String s3 = "共和国";

合并之后如何去掉重复的字符,我知道用正则表达式,可是不知道pattern如何写,一位高手解决了这个问题,如下:

String s1 = "中华人人";
String s2 = "人民共";
String s3 = "共和国";
String s = s1 + s2 + s3;
String t = Regex.Replace(s,@"(/w)(?=[^/1]*/1)","");
Console.WriteLine(t);

/w为任何字母或数字或下划线或汉字,而(/w)即为后向引用,用小括号指定一个子表达式,匹配这个子表达式的文本,这个分组自动拥有了一个组号,1,后向引用用于重复搜索前面某个分组匹配的文本,(?=exp)为零宽断言,用来匹配exp前面的位置,exp则为[^/1]*/1,[^/1]匹配除了/1以外的任意字符。结果为"中华人民共和国”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: