正则表达式-判断字符串是否匹配“AABB”模式

netcoder 2009-11-14 02:01:59
如题,判断某字符串是否匹配 AABB(指连续出现4个字符,前2个相同,后两个相同),举例:
1、SLoi 不匹配
1、1123 不匹配
2、DD11 匹配
3、KKKK 匹配


在线等待!
...全文
2196 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nixiang12 2009-11-14
  • 打赏
  • 举报
回复

using System;
using System.Collections.Generic;
using System.Text;

namespace Test
{
class Program
{
static void Main(string[] args)
{
string str = "aabb";
char[] c = str.ToCharArray(0,str.Length);
if (c[0] == c[1] && c[2] == c[3])
{
Console.WriteLine("正确");
}
else
{
Console.WriteLine("错误");
}
Console.ReadLine();
}
}
}



只会这办法
mbh0210 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lxcnn 的回复:]
try...

C# code//如果是判断包含(.)\1(.)\2//如果是判断整个字符串规则^(.)\1(.)\2$
[/Quote]

yes
PandaIT 2009-11-14
  • 打赏
  • 举报
回复


过客考虑得够全面!
波导终结者 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 netcoder 的回复:]
1楼想的过于简单,因为模式有很多,比如AAAB,ABBB,ABAB。。。
[/Quote]
你这些例子符合“前2个相同,后2个相同”?!?!
-过客- 2009-11-14
  • 打赏
  • 举报
回复
可以参考我博客中关于反向引用的介绍

正则基础之——反向引用
-过客- 2009-11-14
  • 打赏
  • 举报
回复 2
以此类推


//AABB
(.)\1(.)\2
//AAAB
(.)\1\1.
//ABBB
.(.)\1\1
//ABAB
(.)(.)\1\2


以上都是认为A和B可以相同的,如果A和B要求不同

//AABB
(.)\1((?!\1).)\2
//AAAB
(.)\1\1(?!\1).
//ABBB
(.)((?!\1).)\2\2
//ABAB
(.)((?!\1).)\1\2
-过客- 2009-11-14
  • 打赏
  • 举报
回复
try...

//如果是判断包含
(.)\1(.)\2
//如果是判断整个字符串规则
^(.)\1(.)\2$
netcoder 2009-11-14
  • 打赏
  • 举报
回复
1楼想的过于简单,因为模式有很多,比如AAAB,ABBB,ABAB。。。
梦里开天 2009-11-14
  • 打赏
  • 举报
回复
这个还用?str【0】==str【1】 and str【2】=str【3】

110,550

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧