[正则]如何判断一个字符串中是否同时存在字符串1和字符串2?

Frank6600 2007-09-06 09:28:48
昨天问了这个问题,有人回答(string1)|(string2),
我以为得到了答案,结果似乎是错的。

我要判断的是字符串1和字符串2 「同时」存在,
而(string1)|(string2) 似乎是判断任一个存在即可。

不知道有没有人能够再帮帮忙﹖

对了,因为将来还会出现字符串3,字符串4........
即条件数是不定的,
所以比较希望有正则的答案,
因为那样子要改写比较容易,
非正则的答案就暂时不要给了,
谢谢!
...全文
326 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
keyboarduser 2007-09-06
  • 打赏
  • 举报
回复
果然,楼上强银
.*?(字符串1)+.*?(字符串2)+.*
王集鹄 2007-09-06
  • 打赏
  • 举报
回复
那这样不就可以了
(string1)*(string2)|(string2)*(string1)
keyboarduser 2007-09-06
  • 打赏
  • 举报
回复
测试字串:abcdwuyazhetes43232fzxvcxyl
正则:
^(?!.*?(?:^wuyazhe).*?$|.*?(?:^xyl).*?$)(.|\n)*$
结果ok
ruan_hg 2007-09-06
  • 打赏
  • 举报
回复
非正则的
string s1 = "abcdefg";
bool b = s1.Contains("ab") && s1.Contains("de");
一两行就解决问题
ruan_hg 2007-09-06
  • 打赏
  • 举报
回复
string s1 = "abcdefg";
bool b = Judge_exists(s1, "ab")&&Judge_exists(s1,"de");

protected bool Judge_exists(string s1,string s2)
{
Regex re = new Regex(s2);
if (re.Match(s1).Success)
return true;
return false;
}

110,539

社区成员

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

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

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