黑白之间

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::


本文并无贬低他人之意,只为交流学习正则表达式让各位看客少走弯路。

 

出题原文“一家外包公司面试记录” 

 

题:返回字符串中相邻的字符个数大于等于2的记录数,比如aaa,算1个记录,aaabb,算2个记录,abbccaaa,算3个记录, aaabbbcccefffghhh,算5个记录.


本题应该是考正则表达式

 题解: ([a-z\d]\1){1,} 

 Regex.Matches("aaabbbcccefffghhh","([a-z\d]\1){1,}").Count;

注: 

  “[a-z\d]”  字符范围

  “\1”  在表达式中则是一个反向引用,引用的正是捕获的第一组,前面的[a-z\d]匹配的内容 

  “{1,} ”  大于一以上的都匹配

 

正则表达式语法: 

  http://www.cnblogs.com/cn795/archive/2010/07/29/1787773.html 

 

 

 

 

 大家可以指正,但不要喷我。在此先谢各位大侠。

posted on 2012-08-30 07:49  黑白之间  阅读(738)  评论(4编辑  收藏  举报