一个正则表达式
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以外的任意字符。结果为"中华人民共和国”。
合并之后如何去掉重复的字符,我知道用正则表达式,可是不知道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以外的任意字符。结果为"中华人民共和国”。
相关文章推荐
- 一个匹配数字和字母密码的正则表达式
- C++一个不错的正则表达式引擎(二)
- 一个正则表达式引擎的设计和实施1-汤普森构造
- 实现一个 DFA 正则表达式引擎 - 1. 语法树的构建
- 向大家推荐一个收集整理正则表达式的网站
- 实现一个 DFA 正则表达式引擎 - 3. NFA 的确定化
- 向大家推荐一个收集整理正则表达式的网站
- 一个URL正则表达式
- 一串字字符中多个逗号转换为一个,既标准分隔符(正则表达式)
- 一个靠谱的验证email的正则表达式
- 一个高深的验证IP的正则表达式
- 一个正则表达式的封装类
- 一个正则表达式:该正则表达式标示了后面有数字,但又不能是某特定数字的情况
- 详解一个自己原创的正则匹配IP的表达式
- 一个严格区配IP的正则表达式
- 判断一个字符串是否包含另一个字符串(indexOf和正则表达式的比较)
- 一个很全的 iOS 手机号正则表达式
- 一个正则表达式测试(只可输入中文、字母和数字)
- 用正则表达式提取html中的一个指定div对
- Regular Expressions的一个工具:T-Regex 正则表达式验证工具